Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1872to1876
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Shell strTh & strCommand, vbNormalFocus

Shell strTh & strCommand, vbNormalFocus
16.03.2022 00:22:16
Jack.k32
Guten Abend,
ich habe ein Paar Makros, das ich seit einiger Zeit problemlos nutze. Nun habe ich mir einen neuen Rechner zugelegt und die personal.xlsb in das neue Excel eingefügt. Leider funktionieren auf dem neuen PC mehrere Makros, die zum Schluss eine Email via Thunderbird generieren sollen, nicht mehr.
Auf dem alten PC Winwows 10 ist alles einwandfrei nach wie vor.
Alter PC Win10 und Neuer PC Win11: Version Excel 2202 ( Build 14931.20132 Klick-und-los) - auf beiden die gleiche
Fehlermeldung Laufzeitfehler 53, Datei nicht gefunden und weist auf diese Zeile hin: Shell strTh & strCommand, vbNormalFocus
Die Datei Packliste.xlsx wird geöffnet, modifiziert, gespeichert, angezeigt - alles OK. Eine Email in Thunderbird wird nicht generiert.
Vielleicht weiß ja jemand einen Rat? Besten Dank im Voraus!
Hier z.B:

Sub Packliste()
' Packliste Makro
Selection.Copy
Application.ScreenUpdating = False
Workbooks.Open Filename:= _
"C:\Users\aaa\bbb\Datenbank\Packliste.xlsx"
Range("A1").Select
ActiveSheet.Paste
Range("A:E").Select
Application.CutCopyMode = False
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
Range("A1").Sort Key1:=Range("A1"), Order1:=xlAscending, _
Header:=xlGuess, OrderCustom:=1, _
MatchCase:=False, Orientation:=xlTopToBottom
Windows("ccc.xlsx").Activate
ActiveCell.Offset(0, -4).Select
Selection.Copy
ActiveCell.Offset(0, 15).Select
ActiveCell.Value = Date
Windows("Packliste.xlsx").Activate
Range("D1").Select
ActiveSheet.Paste
Range("D1").Select
Selection.Copy
ActiveSheet.PageSetup.CenterHeader = Format(Range("D1").Value)
ActiveSheet.PageSetup.CenterHeader = Format(Range("D1").Value)
Range("D1").ClearContents
Range("D2").Copy
Range("D1").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\Users\aaa\Downloads\Packliste.pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True
strTh = "C:\Program Files (x86)\Mozilla Thunderbird\Thunderbird.exe "
strCommand = "-compose to=aaa@gmail.com" & _
",subject='Packliste',body=''" & _
",from=bbb@ccc.eu" & _
",attachment='file:///C:\Users\aaa\Downloads\Packliste.pdf'"
Shell strTh & strCommand, vbNormalFocus
Workbooks("Packliste.xlsx").Close SaveChanges:=False
Application.ScreenUpdating = True
End Sub

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Shell strTh & strCommand, vbNormalFocus
16.03.2022 05:33:17
Alwin
Hallo,
ändere:

strTh = "C:\Program Files (x86)\Mozilla Thunderbird\Thunderbird.exe "
in:

strTh = "C:\Program Files (x86)\Mozilla Thunderbird\Thunderbird.exe"
Gruß Uwe
AW: Shell strTh & strCommand, vbNormalFocus
16.03.2022 10:37:46
Jack.k32
Hallo Uwe,
habe die Leerzeile rausgenommen, leider die gleiche Fehlermeldung.
Grüße
Jack
AW: Shell strTh & strCommand, vbNormalFocus
16.03.2022 06:25:13
Alwin
Ich habe es mal etwas Aufgeräumter umgebaut, die Variablen deklariert und den Thunderbird Befehlszeilenzugriff besser benutzbar gemacht. Ich hoffe es hilft.
Option Explicit

Sub Packliste()
Dim PfadPackliste$, PfadPDF$, strTh$, strCommand$, PfadAnhang$, MailAdresse$, Betreff$, BodyText$
'***************** Einstellungen ******************************
PfadPackliste = "C:\Users\aaa\bbb\Datenbank\Packliste.xlsx"
PfadPDF = "C:\Users\aaa\Downloads\Packliste.pdf"
MailAdresse = "aaa@gmail.com"
Betreff = "Packliste"
BodyText = ""
strTh = "C:\Program Files (x86)\Mozilla Thunderbird\Thunderbird.exe"
Selection.Copy
Application.ScreenUpdating = False
Workbooks.Open Filename:=PfadPackliste
Range("A1").Select
ActiveSheet.Paste
Range("A:E").Select
Application.CutCopyMode = False
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
Range("A1").Sort Key1:=Range("A1"), Order1:=xlAscending, _
Header:=xlGuess, OrderCustom:=1, _
MatchCase:=False, Orientation:=xlTopToBottom
Windows("ccc.xlsx").Activate
ActiveCell.Offset(0, -4).Select
Selection.Copy
ActiveCell.Offset(0, 15).Select
ActiveCell.Value = Date
Windows("Packliste.xlsx").Activate
Range("D1").Select
ActiveSheet.Paste
Range("D1").Select
Selection.Copy
ActiveSheet.PageSetup.CenterHeader = Format(Range("D1").Value)
ActiveSheet.PageSetup.CenterHeader = Format(Range("D1").Value)
Range("D1").ClearContents
Range("D2").Copy
Range("D1").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=PfadPDF, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True
strCommand = strCommand & " -compose " & "to=" & MailAdresse
strCommand = strCommand & ",subject=" & Betreff
strCommand = strCommand & ",body='" & BodyText & "'"
strCommand = strCommand & ",attachment=" & PfadPDF
Shell strTh & strCommand, vbNormalFocus
Workbooks("Packliste.xlsx").Close SaveChanges:=False
Application.ScreenUpdating = True
End Sub
Der Teil zur PDF Erzeugung lässt sich sicherlich auch noch verkleinern.
Gruß Uwe
Anzeige
AW: Shell strTh & strCommand, vbNormalFocus
16.03.2022 10:54:49
Jack.k32
Hallo Uwe,
habe deine Version übernommen, es kommt aber die gleiche Fehlermeldung heraus.
Ich habe noch das hier gefunden: https://www.devhut.net/vba-send-e-mail-using-mozilla-thunderbird/
Hier macht Thunderbird eine neue Email auf, aber ich kenne mich nicht gut genug aus, die richtige Syntax einzutragen, damit Email Adresse Empfänger, Email Adresse Absender und Anhang in der Datei richtig dargestellt werden.
Wo kann ich das über die Syntax nachlesen?
danke
Viele Grüße
Jack
AW: Shell strTh & strCommand, vbNormalFocus
16.03.2022 11:25:55
Alwin
Schau mal, wo (Verzeichnispfad) der Thunderbird auf dem neuen Rechner installiert ist und passe in der Prozedur den Pfad (strTh...) ggf. an. Da könnte das Problem sein.
Ich habe mal die vielen Selection weggemacht. Teste mal, dass ich da nichts übersehen habe.
Option Explicit

Sub Packliste()
Dim PfadPackliste$, PfadPDF$, strTh$, strCommand$, PfadAnhang$, MailAdresse$, Betreff$, BodyText$
'***************** Einstellungen ******************************
PfadPackliste = "C:\Users\aaa\bbb\Datenbank\Packliste.xlsx"
PfadPDF = "C:\Users\aaa\Downloads\Packliste.pdf"
MailAdresse = "aaa@gmail.com"
Betreff = "Packliste"
BodyText = ""
strTh = "C:\Program Files (x86)\Mozilla Thunderbird\Thunderbird.exe"
Selection.Copy
Application.ScreenUpdating = False
Workbooks.Open Filename:=PfadPackliste
Range("A1").Select
ActiveSheet.Paste
With Range("A:E").Borders
.LineStyle = xlContinuous
.Weight = xlThin
End With
Range("A1").Sort Key1:=Range("A1"), Order1:=xlAscending, _
Header:=xlGuess, OrderCustom:=1, _
MatchCase:=False, Orientation:=xlTopToBottom
Windows("ccc.xlsx").Activate
ActiveCell.Offset(0, -4).Select
Range("A:E").Copy
ActiveCell.Offset(0, 15).Select
ActiveCell.Value = Date
Windows("Packliste.xlsx").Activate
Range("D1").Select
ActiveSheet.Paste
Range("D1").Copy
ActiveSheet.PageSetup.CenterHeader = Format(Range("D1").Value)
ActiveSheet.PageSetup.CenterHeader = Format(Range("D1").Value)
Range("D1").ClearContents
Range("D2").Copy
Range("D1").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=PfadPDF, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True
strCommand = strCommand & " -compose " & "to=" & MailAdresse
strCommand = strCommand & ",subject=" & Betreff
strCommand = strCommand & ",body='" & BodyText & "'"
strCommand = strCommand & ",attachment=" & PfadPDF
Shell strTh & strCommand, vbNormalFocus
Workbooks("Packliste.xlsx").Close SaveChanges:=False
Application.ScreenUpdating = True
End Sub
Gruß Uwe
Anzeige
AW: Shell strTh & strCommand, vbNormalFocus
16.03.2022 22:09:37
Jack.k32
Hallo Uwe,
du hattest Recht der Thunderbird Pfad war nicht richtig (X86) war nicht mehr da, habe es angepasst in deiner Version und es funktioniert nun.
Schlage mich damit schon seit Tagen rum.
Vielen Dank du hast mir echt geholfen!!
Schöne Grüße
Jack
AW: Shell strTh & strCommand, vbNormalFocus
16.03.2022 22:20:22
Alwin
Gerne.
AW: Shell strTh & strCommand, vbNormalFocus
16.03.2022 22:24:34
Alwin
Ja.
Bespiel Zelle A2:

Betreff = "Packliste" & Range("A2)
Gruß Uwe
AW: Shell strTh & strCommand, vbNormalFocus
17.03.2022 00:15:54
Jack.k32
Hi Uwe,
das lässt er mich gar nicht schreiben: Fehler beim Kompilieren: Erwartet: Listentrennzeichen oder )
Kannst du bitte nochmal schauen?
Danke.
Jack
AW: Shell strTh & strCommand, vbNormalFocus
16.03.2022 22:17:49
Jack.k32
Hallo Uwe,
sorry eine Frage noch: kann man den Betreff in Thunderbird: Bestellung um den Inhalt der Zeile A2 (eine Ziffer oder Zahlenfolge wie xy123) erweitern?
Danke
Viele Grüße
Jack
Anzeige
AW: Shell strTh & strCommand, vbNormalFocus
16.03.2022 22:28:05
Alwin
Siehe weiter oben, da ich es nicht gleich entdeckt hatte.
AW: Shell strTh & strCommand, vbNormalFocus
17.03.2022 08:26:09
Alwin
ja das ist beim reintippen mit dem Tablett passiert. Es muss so aussehen:
Betreff = "Packliste" & Range("A2")
Gruß Uwe
AW: Shell strTh & strCommand, vbNormalFocus
17.03.2022 11:31:29
Jack.k32
vielen dank!!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige