Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1920to1924
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

Code funktioniert bei *.xltm nicht

Code funktioniert bei *.xltm nicht
01.03.2023 13:24:28
Jarod
Hallo
Ich habe folgenden Code um aus einem Excel ein Mail zu erstellen welches die Exceldatei als Anhang verschicken soll. Wenn ich die Datei als *.xlsm speichere funktioniert der Code einwandfrei. Wenn ich die Datei aber als Vorlage *.xltm speichere und dann öffne funktioniert der Code nicht. Er hängt dann bei ".attachments.Add Anhang". Wo liegt der Fehler?
Besten Dank für eure Hilfe.
Private Sub Mailversand_Click()
Dim Nachricht As Object, OutlookApplication As Object
Set OutlookApplication = CreateObject("Outlook.Application")
Dim Anhang As String
Anhang = ThisWorkbook.FullName
Set Nachricht = OutlookApplication.CreateItem(0)
With Nachricht
.To = "xxxxx@xxxxx.xx"
.Subject = "Eröffnungsauftrag"
.attachments.Add Anhang
.Display
'.Mail.Send
End With
Set OutlookApplication = Nothing
Set Nachricht = Nothing
End Sub

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Code funktioniert bei *.xltm nicht
01.03.2023 13:36:53
Rudi
Hallo,
und dann öffne
Wie?
Wahrscheinlich erzeugst du eine neue, ungespeicherte ! Mappe auf Basis der .xltm. Die kannst du, da nicht gespeichert, auch nicht anhängen.
Gruß
Rudi
AW: Code funktioniert bei *.xltm nicht
01.03.2023 13:56:27
UweD
Hallo
zu dem Zeitpunkt wurde die Datei noch nicht gespeichert; kann deshalb noch nicht angehängt werden.
Also vorher speichern.
Private Sub Mailversand_Click()
    Dim Nachricht As Object, OutlookApplication As Object
    Dim Anhang As String, Pfad As String
    Pfad = "E:\Excel\temp\"
    
    Anhang = ThisWorkbook.FullName ' Ist noch ohne Endung
    ActiveWorkbook.SaveAs Filename:=Pfad & Anhang, FileFormat:= _
        xlOpenXMLWorkbookMacroEnabled
    Anhang = ThisWorkbook.FullName ' komplett mit Pfad und Endung
   
    Set OutlookApplication = CreateObject("Outlook.Application")
    
    Set Nachricht = OutlookApplication.CreateItem(0)
    With Nachricht
        .To = "XXXX.XXXXX.de"
        .Subject = "Eröffnungsauftrag"
        .attachments.Add Anhang
        .Display
        '.Mail.Send
    End With
    Set OutlookApplication = Nothing
    Set Nachricht = Nothing
End Sub
LG UweD
Anzeige
AW: Code funktioniert bei *.xltm nicht
02.03.2023 08:26:02
Jarod
Hallo UweD
Besten Dank. Funktioniert super! Jetzt habe ich nur noch einen kleinen "Schönheitsfehler". Beim erneuten verwenden der Datei fragt es nach, ob diese überspeichert werden kann. Kann diese Frage übergangen werden? Damit diese nicht jedes mal mit Ja bestätigt werden muss?
Besten Dank für Eure Hilfe.
J.
AW: Code funktioniert bei *.xltm nicht
02.03.2023 09:49:20
Rudi
Hallo,
vor dem Speichern:
Application.DisplayAlerts=False
Danach unbedingt wieder auf TRUE setzen.
Gruß
Rudi
AW: Code funktioniert bei *.xltm nicht
02.03.2023 09:59:15
Jarod
Wie meinst Du wieder auf True stellen? Muss ich den Code immer wieder umschreiben?
AW: Code funktioniert bei *.xltm nicht
02.03.2023 13:19:27
Rudi
so:
 Private Sub Mailversand_Click()
       Dim Nachricht As Object, OutlookApplication As Object
       Dim Anhang As String, Pfad As String
       Pfad = "E:\Excel\temp\"
       
       Anhang = ThisWorkbook.FullName ' Ist noch ohne Endung
Application.displayalerts=False
       ActiveWorkbook.SaveAs Filename:=Pfad & Anhang, FileFormat:= _
           xlOpenXMLWorkbookMacroEnabled
Application.displayalerts=True
       Anhang = ThisWorkbook.FullName ' komplett mit Pfad und Endung
      
       Set OutlookApplication = CreateObject("Outlook.Application")
       
       Set Nachricht = OutlookApplication.CreateItem(0)
       With Nachricht
           .To = "XXXX.XXXXX.de"
           .Subject = "Eröffnungsauftrag"
           .attachments.Add Anhang
           .Display
           '.Mail.Send
       End With
       Set OutlookApplication = Nothing
       Set Nachricht = Nothing
   End Sub

Anzeige
AW: Code funktioniert bei *.xltm nicht
03.03.2023 07:31:00
Jarod
Super vielen herzlichen Dank!!!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige