• 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.

Variable filenaam voor Email attachment

Status
Niet open voor verdere reacties.

Roboman

Gebruiker
Lid geworden
5 jun 2014
Berichten
48
Beste Helpmij Helpers.

In een stukje VB code heb ik een declaratie gemaakt voor een nogal lang path naar een PDF file. De filenaam van de pdf file wordt door 3 variabelen gedefinieerd en dat werkt prima. De variabele heet "OutFileName" en ik weet dat dit werkt omdat ik door debuggen met de messsage box truuk de juiste naam en path zie.

--------------------------
' Declare filename as variable
Dim OutFileName As String

OutFileName = "D:\Docs\Process\Audits " & SheetNum & "\Letters\" & Worksheets("C_Letter").Range("A12") & " C_Letter " & SheetNum & ".pdf"""

MsgBox ("Creating File: " & vbNewLine & OutFileName)
--------------------------

Nu wil ik later in de code deze pdf file aan een email hangen, en dat werkt als ik de hele lange path+filenaam specificeer maar dat is lastig. Ik probeer dus de variabele "OutFileName" achter het "Attachments.Add" commando te hangen.

.Attachments.Add "OutFileName"

Ik heb zowat alle mogelijke syntaxis gebruikt die ik weet en vinden kon met haakjes, dubbel / Single quotes / & en $ tekens etc. Maar blijkbaar nog niet de juiste.

Wie zou mij hiermee kunnen helpen?

Met vriendelijke groet,
Roboman
 
Je moet er helemaal geen extra tekens bij gebruiken, alleen de naam van de variabele:
.Attachments.Add OutFileName
 
Bedankt Edmoor.

Die optie had ik ook al geprobeerd. Maar ja het was laat gisteren denk ik. Met wat gerichtere debug, en omdat ik ervan uit ga dat je weet hoe het moet, vond ik uit dat de file helemaal niet aangemaakt werd. Dat heb ik gerepareerd en nu werkt het. Erg bedankt dus om me in de juiste richting te laten kijken.

Als ik mag nog een andere vraag. De .Body tekst schrijf ik nu als een lange regel met "vbNewLine" waar ik een nieuwe regel wil beginnen. Dat werkt wel maar is dat niet op een andere manier op te lossen. Zou een outlook template werken? Ik heb dat geprobeerd door een outlook.oft op te halen in met de "Set new item" call zoals je dat in een outlook macro doet maar dan worden de adressen en subject niet ingevuld.
 
Wat betreft de .Body kan je ook gebruik maken een variabele die je dan als volgt kan vullen:
Code:
BodyTekst = "Regel 1" & vbCrLf & _
            "Regel 2" & vbCrLf & _
            "Regel 3" & vbCrLf & _
            "Regel 4"

Dan gebruik je bij het maken van de mail .Body = BodyTekst
 
Dit werkt super.. bedankt voor je hulp.
Mijn projectje is klaar en werkt zelfs beter dan het ontwerp.
Ik stuur nu een email vanuit Excel waarbij ik in een PDF aanmaak met gegevens vanuit de sheet. De output file naam wordt gedeeltelijk door een variabele aangemaakt, deze opsla in een folder waarvan de folder naam ook door een variabele gedefinieerd wordt. Daarna wordt er een email aangemaakt waar aan de gemaakte pdf hangt + nog twee pdf's die vanuit een folder worden toegevoegd. hoe mooi kan het zijn..

Je kunt je voorstellen dat ik er erg blij mee ben.

met vriendelijke groet
Rob
 
Ok dan :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan