Registriert seit: 10.10.2019
Version(en): 2013
10.10.2019, 15:48
(Dieser Beitrag wurde zuletzt bearbeitet: 10.10.2019, 15:48 von marcrob.)
Hallo zusammen,
leider habe ich noch nicht viel Erfahrung mit Makros bzw. VBA gesammelt und habe nun durch einige Foreneinträge und Youtube-Tutorials folgendes Makro geschrieben:
Code:
Sub PDFDatei()
'Tabelle als PDF speichern
ThisWorkbook.ExportAsFixedFormat xlTypePDF, _
Filename:="C:\Users\PC\Desktop\Bestellung.pdf", _
OpenAfterPublish:=False
Application.Dialogs(xlDialogSendMail).Show
End Sub
Wenn ich dieses Makro ausführe, wird zwar ein PDF in dem Verzeichnis erstellt und eine Mail in Thunderbird geöffnet, allerdings hängt hier nun die Exceldatei im Anhang.
Was habe ich falsch gemacht?
Kann man dem Makro und auch noch sagen, dass er eine Emfängermailadresse eintragen soll und ein Betreff bzw. Text schreiben soll?
VG
Marco
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
Probier mal
Application.Dialogs(xlDialogSendMail).Show Empfänger, Betreff
Allerdings habe ich kein Thunderbird ...
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
00202
Nicht registrierter Gast
Hallo, :19:
wenn du
ein Tabellenblatt als
PDF versenden möchtest, dann so (
getestet): :21:
Code:
Option Explicit
Public Sub Main()
Dim strResult As String
Dim strTMP As String
With ThisWorkbook.Worksheets("Sheet1")
.ExportAsFixedFormat xlTypePDF, Filename:="C:\Temp\Bestellung.pdf", OpenAfterPublish:=False
End With
strTMP = "E:\PortableApps\ThunderbirdPortable\ThunderbirdPortable.exe "
strResult = "-compose to='abc@hier.de',subject='Dein Betreff',body='Bodytext',attachment='File:///C:/Temp/Bestellung.pdf'"
Shell strTMP & strResult, vbNormalFocus
End Sub
Den
Tabellenblattnamen und den
Pfad bzw. auch den
Namen der EXE-Datei musst du anpassen (
ich arbeite mit der Portablen Version).
Registriert seit: 10.10.2019
Version(en): 2013
(15.10.2019, 09:22)Case schrieb: Hallo, :19:
wenn du ein Tabellenblatt als PDF versenden möchtest, dann so (getestet): :21:
Code:
Option Explicit
Public Sub Main()
Dim strResult As String
Dim strTMP As String
With ThisWorkbook.Worksheets("Sheet1")
.ExportAsFixedFormat xlTypePDF, Filename:="C:\Temp\Bestellung.pdf", OpenAfterPublish:=False
End With
strTMP = "E:\PortableApps\ThunderbirdPortable\ThunderbirdPortable.exe "
strResult = "-compose to='abc@hier.de',subject='Dein Betreff',body='Bodytext',attachment='File:///C:/Temp/Bestellung.pdf'"
Shell strTMP & strResult, vbNormalFocus
End Sub
Den Tabellenblattnamen und den Pfad bzw. auch den Namen der EXE-Datei musst du anpassen (ich arbeite mit der Portablen Version). 
Hallo Case,
perfekt das funktioniert!
Jetzt habe ich Blut geleckt und mich interessiert, ob der Body auch mehrzeilig eingefügt werden kann?
Beispiel:
Sehr geehrte Damen und Herren,
anbei erhalten Sie die aktuelle Bestellung.
Mit freundlichen Grüßen
Außerdem steht die Kundennummer immer in Zelle D7 und der Firmenname in E10.
Kann man den Betreff auch noch automatisieren?
Beispiel:
Bestellung Kundennummer(D7) Firmenname(E10)
VG
Marco
Registriert seit: 10.10.2019
Version(en): 2013
(15.10.2019, 11:28)marcrob schrieb: Hallo Case,
perfekt das funktioniert!
Jetzt habe ich Blut geleckt und mich interessiert, ob der Body auch mehrzeilig eingefügt werden kann?
Beispiel:
Sehr geehrte Damen und Herren,
anbei erhalten Sie die aktuelle Bestellung.
Mit freundlichen Grüßen
Außerdem steht die Kundennummer immer in Zelle D7 und der Firmenname in E10.
Kann man den Betreff auch noch automatisieren?
Beispiel:
Bestellung Kundennummer(D7) Firmenname(E10)
VG
Marco
Kann man vielleicht auch noch den Dateinamen der gespeicherten Datei variabel gestalten?
Bestellung Kundennummer(D7) Firmenname(E10)
VG Marco
00202
Nicht registrierter Gast
Hallo Marco, :19:
bitte zitiere
nicht immer den
ganzen vorhergehenden
Beitrag. :21:
Dann so (
getestet): :17:
Code:
Option Explicit
Public Sub Main()
Dim strResult As String
Dim strFile As String
Dim strPath As String
strPath = "C:\Temp\"
strPath = IIf(Right(strPath, 1) = "\", strPath, strPath & "\")
With ThisWorkbook.Worksheets("Sheet1")
strFile = .Range("D7").Value & "_" & .Range("E10").Value & ".pdf"
.ExportAsFixedFormat xlTypePDF, Filename:=strPath & strFile, OpenAfterPublish:=False
strResult = "E:\PortableApps\ThunderbirdPortable\ThunderbirdPortable.exe -compose "
strResult = strResult & " to='abc@hier.de'"
strResult = strResult & ",subject='" & .Range("D7").Value & " " & .Range("E10").Value & "'"
strResult = strResult & ",body='" & "Sehr geehrte Damen und Herren," & "<br>" & "<br>" & "die aktuelle Bestellungs im Anhang!" _
& "<br>" & "<br>" & "Mit freundlichem Gruß" & "<br>" & "<br>" & "Der Chef" & "'"
strResult = strResult & ",attachment='File:///" & strPath & strFile & "'"
End With
Shell strResult, vbNormalFocus
End Sub
Auch hier gilt wieder -
Anpassungen nicht vergessen!
Folgende(r) 1 Nutzer sagt Danke an Gast für diesen Beitrag:1 Nutzer sagt Danke an Gast für diesen Beitrag 28
• marcrob
Registriert seit: 10.10.2019
Version(en): 2013
Zitat:bitte zitiere nicht immer den ganzen vorhergehenden Beitrag.
Alles klar!
Vielen Dank Case!
Das funktioniert genau so wie ich es mir vorgestellt habe :19: