• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

De bestandsnamen van de attachments zijn niet zichtbaar in email

Status
Niet open voor verdere reacties.

marcelrobyns

Gebruiker
Lid geworden
27 sep 2021
Berichten
5
Ik gebruik VBA binnen Excel om attachments (PDF files) toe te voegen aan het emailbericht en dit wordt volledig voorbereid door VBA code. Het emailbericht opent op het scherm en is klaar om te verzenden. Alle parameters zijn ingevuld in de header van het bericht evenals in de body, enkel de bijlagen zijn niet zichtbaar in de mail die verstuurd moet worden. Nadien als de mail verstuurd is, zijn de bijlagen wel aanwezig in de mail en ook zichtbaar. Het probleem is dat de gebruikers van het excelbestand niet kunnen checken of de bijlagen toegevoegd zijn aan de email alvorens ze de mail versturen. Is er iemand die weet hoe ik de bestandsname van die bijlagen kan visualiseren in het emailbericht. Thanks!
 
Deel je code eens. Dan kunnen we misschien helpen
 
De Gevraagde code

Hieronder de code die de mail voorbereid en daaronder de functie die de voorbereide mail verstuurd of klaarzet op het scherm :

Code:
Sub Prepare_Mails_to_Secretariat()

    Dim fileName("1" To "7") As String, User As String, Username As String, Current_File As String
    Dim FileNamePDF("1" To "7") As String, Current_File_PDF As String
    Dim Path As String, Language As String
    Dim Counter As String
    
    User = Environ("username")
    Username = Application.Username
    Language = Range("Language_Choosen")
    
    Path = Range("Case_Ghost_Path")

    Range("Case_Current_Number_Of_Print") = 1
    
    While Range("Case_Current_Number_Of_Print").Value <= Range("Case_Number_Of_Contacts").Value

        If Range("Case_Print_Contact_" & Range("Case_Current_Number_Of_Print").Value) = True Then
        
            Counter = Range("Case_Current_Number_Of_Print").Value

            NumeroautoOffre = Range("NumeroautoOffre")
            NumeroautoOffre_Print = Range("NumeroautoOffre")

            For Each Char In Split(SpecialCharacters, ",")
                NumeroautoOffre_Print = Replace(NumeroautoOffre_Print, Char, "")
            Next

            If Right(NumeroautoOffre_Print, 1) = " " Then
                Len_String = Len(NumeroautoOffre_Print)
                NumeroautoOffre_Print = Left(NumeroautoOffre_Print, Len_String - 1)
                NumeroautoOffre_Print = Replace(NumeroautoOffre_Print, Space(2), Space(1))
            End If

            fileName(Counter) = Path & NumeroautoOffre_Print & "_" & Range("Case_Titre_Offre_Print") & ".PDF"          'Construction name file with choice of choosen path (process data)
            
            Debug.Print "Filename" & Counter & " : " & fileName(Counter)
              
        End If
        
        Range("Case_Current_Number_Of_Print") = Range("Case_Current_Number_Of_Print") + 1

      Wend
      
      Range("Case_Current_Number_Of_Print") = 1
      
      Current_File = ThisWorkbook.FullName
      
        PDFLEN = Len(NumeroautoOffre)
        INITLEN = Len(Range("Case_Code_Client"))
        
        If INITLEN = 0 Then
            CORRECTLEN = 0
            Else
            CORRECTLEN = INITLEN - 2
        
        End If
        
        PDF_L_Filename = Left(NumeroautoOffre_Print, 16)
        PDF_R_Filename = Mid(NumeroautoOffre_Print, 18, 29 + CORRECTLEN - INITLEN - 1 - 2)
        PDF_Filename = PDF_L_Filename & "N" & PDF_R_Filename
        Suffix = "Summary_"
        
        fileName(7) = Range("Case_Choosen_Path") & PDF_Filename & Suffix & Range("Case_Version_Offre") & "_" & Range("Case_Titre_Offre_Print") & ".PDF"
        
        Counter = Counter + 1
        
        Debug.Print "Filename" & Counter & " : " & fileName(Counter)
            
            Select Case Language
            
            Case "F"

                RDB_Mail_PDF_Outlook_Extended Current_File_PDF:=Current_File, _
                FileNamePDF1:=fileName(1), _
                FileNamePDF2:=fileName(2), _
                FileNamePDF3:=fileName(3), _
                FileNamePDF4:=fileName(4), _
                FileNamePDF5:=fileName(5), _
                FileNamePDF6:=fileName(6), _
                FileNamePDF7:=fileName(7), _
                 StrTo:=Range("Case_Secretariat_Email"), _
                 StrCC:="", StrBCC:="", _
                 StrSubject:="OFFER : " & NumeroautoOffre_Print & "_" & Range("Case_Titre_Offre_Print") & " from " & Range("Case_Date_Offre"), _
                 Signature:=True, _
                 DeleteAfterSubmit:=False, _
                 Send:=False, _
                 StrBody:="<H3><B>Chèr(e)" & ",</B></H3><br>" & _
                            "<body><B><span style=""color:#E21423"">Veuillez trouver en annexe l'offre comme mentionnée dans le sujet ... </span style=""color:#E21423""></B>" & _
                            "</body>"

''''                            "<br><br>Offer validity :  <B><U><span style=""color:#00A7FA"">" & " EUR</B></U></span style=""color:#00A7FA"">" & _
''''                            "<br><br>Error Total Counter :  <B><U><span style=""color:#00A7FA"">" & Total_Counter & "</B></U></span style=""color:#00A7FA"">" & _
''''                            "<br><br>UserID :  <B><U>" & User & "</B></U>" & _
''''                            "<br><br>Username :  <B><U>" & Username & "</B></U>" & _

            Case "N"
            
                RDB_Mail_PDF_Outlook_Extended Current_File_PDF:=Current_File, _
                FileNamePDF1:=fileName(1), _
                FileNamePDF2:=fileName(2), _
                FileNamePDF3:=fileName(3), _
                FileNamePDF4:=fileName(4), _
                FileNamePDF5:=fileName(5), _
                FileNamePDF6:=fileName(6), _
                FileNamePDF7:=fileName(7), _
                 StrTo:=Range("Case_Secretariat_Email"), _
                 StrCC:="", StrBCC:="", _
                 StrSubject:="OFFER : " & NumeroautoOffre_Print & "_" & Range("Case_Titre_Offre_Print") & " from " & Range("Case_Date_Offre"), _
                 Signature:=True, _
                 DeleteAfterSubmit:=False, _
                 Send:=False, _
                 StrBody:="<H3><B>Beste" & ",</B></H3><br>" & _
                            "<body><B><span style=""color:#E21423"">Gelieve ingesloten de offerte te willen vinden zoals vermeld in      ... </span style=""color:#E21423""></B>" & _
                            "</body>"
           
            Case "E"
            
                RDB_Mail_PDF_Outlook_Extended Current_File_PDF:=Current_File, _
                FileNamePDF1:=fileName(1), _
                FileNamePDF2:=fileName(2), _
                FileNamePDF3:=fileName(3), _
                FileNamePDF4:=fileName(4), _
                FileNamePDF5:=fileName(5), _
                FileNamePDF6:=fileName(6), _
                FileNamePDF7:=fileName(7), _
                 StrTo:=Range("Case_Secretariat_Email"), _
                 StrCC:="", StrBCC:="", _
                 StrSubject:="OFFER : " & NumeroautoOffre_Print & "_" & Range("Case_Titre_Offre_Print") & " from " & Range("Case_Date_Offre"), _
                 Signature:=True, _
                 DeleteAfterSubmit:=False, _
                 Send:=False, _
                 StrBody:="<H3><B>Dear" & ",</B></H3><br>" & _
                            "<body><B><span style=""color:#E21423"">Please find enclosed the offer as mentionned in the subject ... </span style=""color:#E21423""></B>" & _
                            "</body>"

            End Select
            
End Sub

Code:
Function RDB_Mail_PDF_Outlook_Extended(FileNamePDF1 As String, FileNamePDF2 As String, FileNamePDF3 As String, FileNamePDF4 As String, FileNamePDF5 As String, FileNamePDF6 As String, FileNamePDF7 As String, _
    StrTo As String, StrCC As String, StrBCC As String, StrSubject As String, _
    Signature As Boolean, Send As Boolean, DeleteAfterSubmit As Boolean, StrBody As String, Current_File_PDF As String)
    Dim OutApp As Object
    Dim OutMail As Object
    'Ron de Bruin : 26-April-2020

    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)
    
    On Error Resume Next
    With OutMail
        If Signature = True Then .Display
        .To = StrTo
        .CC = StrCC
        .BCC = StrBCC
        .Subject = StrSubject
        .HTMLBody = StrBody & "<br>" & .HTMLBody
        .Attachments.Add Current_File_PDF
        .Attachments.Add FileNamePDF1
        .Attachments.Add FileNamePDF2
        .Attachments.Add FileNamePDF3
        .Attachments.Add FileNamePDF4
        .Attachments.Add FileNamePDF5
        .Attachments.Add FileNamePDF6
        .Attachments.Add FileNamePDF7

        If Send = True Then
        
            If DeleteAfterSubmit = True Then
            
                .DeleteAfterSubmit = True
                .Send
            
                    Else
                    
                        .DeleteAfterSubmit = False
                        .Send
                        
             End If
            
                 Else
                 
                    If DeleteAfterSubmit = True Then
            
                        .DeleteAfterSubmit = True
                        .Display
            
                            Else
                    
                                .DeleteAfterSubmit = False
                                .Display
                        
                    End If
                     
        End If
        
    End With
    
    On Error GoTo 0

    Set OutMail = Nothing
    Set OutApp = Nothing
End Function
 
De code is onbegrijpelijk. Je hebt een document met allerlei gedefinieerde namen maar wij hebben het document niet. Hoe je aan deze complexe code komt weet ik niet maar plaats het bestandje even dan wordt het vast ingekort tot een paar regels.
 
Ik kan het document niet online zetten omdat het bedrijfsgegevens bevat die niet openbaar kunnen gemaakt worden.
De hierboven vermelde code maakt deel uit van een 3-talige excel template die offertes maakt voor de hele groep.

Mijn vraag is eigenlijk of iemand weet, hoe het komt dat de bijlagen die je toevoegt aan een mail niet zichtbaar zijn bij
het opstellen van de mail, maar dat ze uiteindelijk wel mee verstuurd worden.
 
Ik gok dat het probleem in deze drie regels code zit, maar zoals gezegd, zonder een voorbeeldbestand wordt dit lastig:
Code:
        PDF_L_Filename = Left(NumeroautoOffre_Print, 16)
        PDF_R_Filename = Mid(NumeroautoOffre_Print, 18, 29 + CORRECTLEN - INITLEN - 1 - 2)
        PDF_Filename = PDF_L_Filename & "N" & PDF_R_Filename
 
NB: Deze declaratie is onjuist:
Code:
Dim FileNamePDF("1" To "7") As String,
Dat moet zijn:
Code:
Dim FileNamePDF(1 To 7) As String,
Geldt ook voor soortgelijke declaraties elders.
 
Dat moet een variant zijn
 
Heb de oplossing ondertussen zelf gevonden£. Zodra er een "leeg" attachment wordt toegevoegd, verdwijnt de zichtbaarheid van de reeds toegevoegde bijlagen, zodra er opnieuw een bestaande bijlage wordt toegevoegd. Dus de bijlagen moet elkaar volgen zonder "lege" verwijzingen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan