Senden Sie E-Mail über MailEnvelope (VBA, Excel)
Möchte ich ein makro erstellen, kopiert einen bestimmten Bereich in outlook (mit Bildern). Aber es funktioniert nicht wie ich es mir vorstelle...
Sub Send_Range_Or_Whole_Worksheet_with_MailEnvelope()
'Working in Excel 2002-2016
Dim AWorksheet As Worksheet
Dim Sendrng As Range
Dim rng As Range
On Error GoTo StopMacro
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
'Fill in the Worksheet/range you want to mail
'Note: if you use one cell it will send the whole worksheet
Set Sendrng = Worksheets("EMAIL").Range("B2:W41")
'Remember the activesheet
Set AWorksheet = ActiveSheet
With Sendrng
' Select the worksheet with the range you want to send
.Parent.Select
'Remember the ActiveCell on that worksheet
Set rng = ActiveCell
'Select the range you want to mail
.Select
' Create the mail and send it
ActiveWorkbook.EnvelopeVisible = True
With .Parent.MailEnvelope
' Set the optional introduction field thats adds
' some header text to the email body.
.Introduction = "This is test mail 2."
With .Item
.To = ThisWorkbook.Sheets("EMAIL").Range("Z1").Value
.CC = ThisWorkbook.Sheets("EMAIL").Range("Z1").Value
.BCC = ""
.Subject = ThisWorkbook.Sheets("EMAIL").Range("D1").Value
.Display
End With
End With
'select the original ActiveCell
rng.Select
End With
'Activate the sheet that was active before you run the macro
AWorksheet.Select
StopMacro:
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
ActiveWorkbook.EnvelopeVisible = False
End Sub
Kann mir bitte jemand sagen, warum MailEnvelope ist die Anzeige nur für 1 Sekunde und nichts passiert danach? So wie es scheint nicht für mich arbeiten.
Habe ich ersetzt .senden Sie mit .Anzeige aber noch nichts verpasst. Alternativ habe ich versucht zu verwenden, die RNGtoHTML code, aber dieser code funktioniert nicht, kopieren Sie die Bilder (ich habe dynamisch verknüpfte Bild in der Tabelle "E-MAIL").
InformationsquelleAutor Bluesector | 2017-04-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihr Problem ist, dass Sie
.Anzeige
aber Sie nicht warten, bis senden und schließen Sie dann den Umschlag ohne versenden:
ActiveWorkbook.EnvelopeVisible = False
Wenn Sie brauchen, um zu verwenden .Senden, oder .Die Anzeige funktioniert überhaupt nicht:
setzen MsgBox Err.Beschreibung am Ende zu Debuggen Ihren Fehler
MsgBox Err.Beschreibung
End Sub
noch versuchen herauszufinden, die eigentliche Lösung.
Mail senden makro hat bei mir aber aufgehört, nach, während. Nicht wirklich sicher, warum. Ich habe sogar versucht, fügen Sie einige registry-Schlüssel (https://social.technet.microsoft.com/Forums/ie/en-US/e2c89fec-beb3-4224-a6cb-112704406907/cannot-change-programmatic-access-security?forum=outlook). Aber das hat nicht funktioniert.
*Was ist lustig ist, dass, wenn Sie deaktivieren, MS-outlook, Warnung für programatic Zugriff (https://www.slipstick.com/developer/change-programmatic-access-options/)
- starten Sie MS O in admin und wechseln Sie zu dieser Einstellung - es Stoppt die Anzeige der warnig, sondern Stoppt auch den Wunsch und die Funktionalität. Die üblichen microsoft-Verhalten in diesen Tagen....
InformationsquelleAutor Petr Szturc
Versuchen Durchlaufen.
Wenn Sie das Skript ausführen, wird es angezeigt, wenn Sie auf diese Zeile des Codes,
dann aber den code unten ran und die werden es verursachen, zu stoppen Anzeige.
Wenn du den code schrittweise Durchlaufen, Sie sollten in der Lage sein, um Ihre Inhalte, bis Sie auf die Codezeile oben.
InformationsquelleAutor linktheory