Ich hab mir folgenden Code zusammengebaut, um einer Email die Signatur hinzuzufügen.
Die Signaturen werden dabei in eine Combobox auf einer Userform geladen.
Der User wählt nun die gewünschte Signatur aus der Combobox aus und lässt sich die Email erstellen.
Das funktioniert soweit alles perfekt.
Doch
Warum wird mir im untenstehenden Code mal eine Email fehlerlos aufgebaut, (Case1) beim Case2 hingegen (und dies, obwohl ich
den genau gleichen Code-Aufbau wie bei Case1 verwende) bringt mir VBA eine Fehlermeldung:
Laufzeitfehler5: Ungültiger Prozessaufruf oder ungültiges Argument
Der Code bleibt dann im Case2 bei der folgenden Zeile stehen:
.GetInspector.CommandBars.Item("Insert").Controls("Signatur2").Controls(strSignatur2). _
Execute
Hier der Code aus Case1 und Case2
Wäre wirklich nett, wenn mir hier jemand bei der Fehlerbehebung behilflich sein könnte.
(hoffe, dass meine Frage so verständlich ist. Leider kann ich das File hier nicht posten da zu gross und zuviele vertrauliche Daten)
Im voraus herzlichen Dank!
Sub Verzweigung(Wohin As Integer)
Dim objNachricht As Object
Dim objNachricht2 As Object
Dim objMail As Object
Dim objMail2 As Object
Dim rngBereich As Range
Set objMail = CreateObject("Outlook.Application")
Set objNachricht = objMail.CreateItem(0)
Set objMail2 = CreateObject("Outlook.Application")
Set objNachricht2 = objMail.CreateItem(0)
Select Case Wohin
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Case 1
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Set rngBereich = Sheets(IM_Nummer).Range("A1:B17")
'Schriftfarbe wird wieder auf schwarz gesetzt
'--------------------------------------------
Range("A1:Z100").Font.ColorIndex = xlAutomatic
Range("A1:Z100").Interior.ColorIndex = xlAutomatic
With objNachricht
.To = "pascal.marolf@coop.ch"
.Subject = "STATUSBERICHT" & " " & Sheets(IM_Nummer).Range("A5").Value
.HtmlBody = vbLf & RangetoHTML(rngBereich)
.ReadReceiptRequested = False
.display
'Funktion um die Signatur auszuwählen
'?
'Cursor ans Ende der EMail setzen
VBA.SendKeys "^{END}", True
'Name der gespeicherten Signatur - bitte anpassen
strSignatur = Signatur 'die auf der UserForm4 ausgewählte Signatur wird nun aus der Public-Variable gelesen.
'Einfügen einer bestimmten Signatur
.GetInspector.CommandBars.Item("Insert").Controls("Signatur").Controls(strSignatur). _
Execute
'.send
End With
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Case 2
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'1. Teil: Email wird aufgebaut
'-----------------------------
Set rngBereich = Sheets(IM_Nummer).Range("A1:B26")
'Schriftfarbe wird wieder auf schwarz gesetzt
'--------------------------------------------
Range("A1:Z100").Font.ColorIndex = xlAutomatic
Range("A1:Z100").Interior.ColorIndex = xlAutomatic
With objNachricht
.To = "pascal.marolf@coop.ch"
.Subject = "STATUSBERICHT" & " " & Sheets(IM_Nummer).Range("A5").Value
.HtmlBody = vbLf & RangetoHTML(rngBereich)
.ReadReceiptRequested = False
.display
'Funktion um die Signatur auszuwählen
'?
'Cursor ans Ende der EMail setzen
VBA.SendKeys "^{END}", True
'Name der gespeicherten Signatur - bitte anpassen
strSignatur2 = Signatur2 'die auf der UserForm5 ausgewählte Signatur wird nun aus der Public-Variable gelesen.
'Einfügen einer bestimmten Signatur
.GetInspector.CommandBars.Item("Insert").Controls("Signatur2").Controls(strSignatur2). _
Execute
'.send
End With
Set objNachricht = Nothing
Set objMail = Nothing
Set rngBereich = Nothing