VBA Outlook
#1
Moin Moin  19

Ich bräuchte bitte mal wieder eure Hilfe.
falls das Thema doppelt erscheint, keine Ahnung warum beim ersten mal die Frage nicht abgeschickt wurde ?  Huh

Aber zum eigentlichen Problem :

Sub PDF_und_Senden()



Dim Dateiname As String

Dateiname = Environ$("userprofile") & "\desktop\" & Range("N5") & "_" & Range("D3") & "_" & "KW" & Range("I5") & ".pdf"

Range("A1:Q42").ExportAsFixedFormat Type:=xlTypePDF, Filename:=Dateiname, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False



Dim oApp As New Outlook.Application
Dim oMail As Outlook.MailItem

Set oMail = oApp.CreateItem(olMailItem)

With oMail
.BodyFormat = olFormatHTML
.To = "xxxxxxxxxxxxxxx"
.Subject = Tabelle1.Range("N5") & "__" & "Personal_Nr.:" & Tabelle1.Range("P5") & "__" & "KW" & Tabelle1.Range("I5") & "__" & Tabelle1.Range("D3")
.HTMLBody = "


Diese E-Mail wurde automatisch erstellt.

Es befindet sich ein xxxxxxxxxxxxxxx der xxxxxxxxxxxxx im Anhang.

Mit freundlichen Grüßen" & .HTMLBody
.Attachments.Add Dateiname
.Send




MsgBox "E-Mail wurde erfolgreich an xxxxxxxxxxxx versendet. Eine Kopie der PDF wurde auf ihrem Desktop gespeichert. "

End With





End Sub

Problem 1 :

Wenn die Cellen die das Subject enthalt nicht gefüllt sind, man aber trotzdem auf Email senden klickt, erscheint ein Fehler. 
Wie bekomme ich eine abfrage hin, das das Makro nur ausgeführt wird wenn die Subject Cellen auch beschrieben sind ?

Problem 2 :

Warum erscheint meine in Outlook angelegte Signatur nicht mehr in der Mail ?


viel dank im vorraus

Mfg
Daniel
Antworten Top
#2
Hola,
https://www.clever-excel-forum.de/Thread-VBA-Outlook
Gruß,
steve1da
Antworten Top
#3
Ah ok, vielen dank .
Antworten Top
#4
Hallo Daniel,

die Aussage im angeführten Thread 

Du musst zuerst den Originalbody zwischenspeichern und dann wieder anhängen.

ist nicht richtig.

Es ist nicht zwingend erforderlich, die Signatur in einer Variablen zwischen zu speichern. Das liest man leider immer wieder.

Solange der htmlbody mit einem Befehl (also nicht über mehrere Befehle verteilt) befüllt wird, wird er nur einmal mit Nutzdaten + Signatur überschrieben und alles ist und bleibt drin.

Und das ist bei deinem Code der Fall:
 .htmlbody = "<b>Diese E-Mail wurde automatisch erstellt.</b>><br>Es befindet sich ein xxxxxxxxxxxxxxx der xxxxxxxxxxxxx im Anhang." _
                & .htmlbody

Deine Signatur wird nicht angezeigt, weil Du vergessen hast, diese über .GetInspector zu holen.

Gruß
Karl-Heinz
[-] Folgende(r) 1 Nutzer sagt Danke an volti für diesen Beitrag:
  • derHoepp
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste