Excellerend
Gebruiker
- Lid geworden
- 8 nov 2011
- Berichten
- 68
Beste Forumleden,
Ik, als VBA leek, probeer in Excel (2010) middels VBA een tabblad te exporteren naar PDF en direct aansluitend te mailen met Outlook. (2010)
Deze vraag is al een aantal maal gevraagd en beantwoord, namelijk met de code van Ron de Bruin. (http://www.rondebruin.nl/win/winfiles/PDFExamples.txt)
Die werkt inderdaad, ook bij mij, probleemloos.
Enkel nu wil ik iets wat niet is opgenomen in zijn code, en ook na een middagje knutselen lukt het me niet.
Ik gebruik:
- Sub RDB_Selection_Range_To_PDF_And_Create_Mail()
- Function RDB_Mail_PDF_Outlook
- Function RDB_Create_PDF
Want ik wil een selectie van één tabblad mailen naar een contactpersoon waarbij bestandsnaam van de PDF afkomstig is uit een aantal cellen in het betreffende tabblad.
Daarbij moet het tijdelijke bestand in dezelfde directory komen als het bronbestand.
De betreffende code 1 op 1 van Ron:
Nu moet ik dus het vetgedrukte deel van de code gebruiken. (Nog wel even "FileName = " voor zetten anders gaat het niet goed.)
Bijvoorbeeld:
Dit werkt, want bij If FileName = "" Then gaat de code vragen handmatig een bestandsnaam op te geven.
Nu moet dus de "" worden vervangen door de een pad (ThisWorkbook.Path) en de bestandsnaam komende uit cel C4 (= TEST) & cel E9 (= datum)
Beoogde resultaat; een PDF bestand in dezelfde map als de excelbron met de bestandsnaam: Rapport TEST 18-04-2013
Enkel codes als onderstaand werken niet..
Wie heeft hiervoor de oplossing?
Alvast bedankt.
Groet,
Peter
Ik, als VBA leek, probeer in Excel (2010) middels VBA een tabblad te exporteren naar PDF en direct aansluitend te mailen met Outlook. (2010)
Deze vraag is al een aantal maal gevraagd en beantwoord, namelijk met de code van Ron de Bruin. (http://www.rondebruin.nl/win/winfiles/PDFExamples.txt)
Die werkt inderdaad, ook bij mij, probleemloos.
Enkel nu wil ik iets wat niet is opgenomen in zijn code, en ook na een middagje knutselen lukt het me niet.
Ik gebruik:
- Sub RDB_Selection_Range_To_PDF_And_Create_Mail()
- Function RDB_Mail_PDF_Outlook
- Function RDB_Create_PDF
Want ik wil een selectie van één tabblad mailen naar een contactpersoon waarbij bestandsnaam van de PDF afkomstig is uit een aantal cellen in het betreffende tabblad.
Daarbij moet het tijdelijke bestand in dezelfde directory komen als het bronbestand.
De betreffende code 1 op 1 van Ron:
Code:
Sub RDB_Selection_Range_To_PDF_And_Create_Mail()
Dim FileName As String
If ActiveWindow.SelectedSheets.Count > 1 Then
MsgBox "There is more then one sheet selected," & vbNewLine & _
"ungroup the sheets and try the macro again"
Else
'Call the function with the correct arguments
'For a fixed range use this line
FileName = RDB_Create_PDF(Range("A10:I15"), "", True, False)
'For the selection use this line
'FileName = RDB_Create_PDF(Selection, "", True, False)
[B]'For a fixed file name and overwrite it each time you run the macro use
'RDB_Create_PDF(Selection, "C:\Users\Ron\Test\YourPdfFile.pdf", True, False)[/B]
If FileName <> "" Then
RDB_Mail_PDF_Outlook FileName, "ron@debruin.nl", "This is the subject", _
"See the attached PDF file with the last figures" _
& vbNewLine & vbNewLine & "Regards Ron de bruin", False
Else
MsgBox "Not possible to create the PDF, possible reasons:" & vbNewLine & _
"Microsoft Add-in is not installed" & vbNewLine & _
"You Canceled the GetSaveAsFilename dialog" & vbNewLine & _
"The path to Save the file in arg 2 is not correct" & vbNewLine & _
"You didn't want to overwrite the existing PDF if it exist"
End If
End If
End Sub
Nu moet ik dus het vetgedrukte deel van de code gebruiken. (Nog wel even "FileName = " voor zetten anders gaat het niet goed.)
Bijvoorbeeld:
Code:
FileName = RDB_Create_PDF(Range("B3:S69"), "", True, False)
Dit werkt, want bij If FileName = "" Then gaat de code vragen handmatig een bestandsnaam op te geven.
Nu moet dus de "" worden vervangen door de een pad (ThisWorkbook.Path) en de bestandsnaam komende uit cel C4 (= TEST) & cel E9 (= datum)
Beoogde resultaat; een PDF bestand in dezelfde map als de excelbron met de bestandsnaam: Rapport TEST 18-04-2013
Enkel codes als onderstaand werken niet..
Code:
ThisWorkbook.Path & "Rapport " & Range("C4") & " " & Range("E9")
ThisWorkbook.Path "Rapport & ActiveSheet.Cells(4, 3) & ActiveSheet.Cells(5, 9)"
Wie heeft hiervoor de oplossing?
Alvast bedankt.
Groet,
Peter
Laatst bewerkt: