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

VBA Email mit Bild von Bereich

VBA Email mit Bild von Bereich
06.03.2023 13:22:30
Bereich
Hallo,
ich habe ein Problem mit meinem Code zum Senden einer Mail mit Foto generiert aus Zellenbereich.
Eigentlich funktioniert der Code sehr gut.
Komisch ist, dass er einen Fehler erzeugt, wenn ich das Excel, welches den Code enthält mit VBScript öffne.
In dem Fall scheint es nötig zu sein die Mail zunächst mit .Display anzeigen zu lassen vor dem Senden.
Würde allerdings gerne den kompletten Code im Hintergrund laufen lassen und nicht, dass die Email kurz aufpoppt vor dem Senden.
Habe auch schon andere Möglichkeiten versucht wie zB. mit MailEnvelope. Gibt aber auch einen Fehler.
Vermute es liegt daran, wie das Excel mit VBScript geöffnet wird.
Weiss nicht, ob die Lösung im VBA oder VBScript liegt.
Kann mir dazu bitte jemand helfen.
Vielen Dank.
Hier der Code des VBA:

Private Sub Workbook_Open()
Application.ScreenUpdating = False
Dim r As Range
Dim outlookApp As Outlook.Application
Set outlookApp = CreateObject("Outlook.Application")
Dim outMail As Outlook.MailItem
Set outMail = outlookApp.CreateItem(olMailItem)
Dim wordDoc As Word.Document
Set wordDoc = outMail.GetInspector.WordEditor
Set r = Worksheets(1).Range("A1:B10")
r.Copy
Dim p As picture
Set p = Worksheets(1).Pictures.Paste
p.Cut
wordDoc.Range.PasteSpecial wdPasteBitmap
    With outMail
        .To = "xxx@web.de"
        .CC = ""
        .BCC = ""
        .Subject = "xxx"
        .Display 'wenn ich Code direkt in Excel laufen lassen nicht nötig; wenn via VBScript Fehlermeldung falls nicht vorhanden
        .Send
    End With
Application.ScreenUpdating = True
End Sub


Hier der Code des VBScript:

Set objExcel = CreateObject("Excel.Application") 
Dim oShell : Set oShell = CreateObject("WScript.Shell")
Set objWorkbook = objExcel.Workbooks.open("U:\xxx.xlsm")
objExcel.DisplayAlerts = False
objExcel.ActiveWorkbook.Save
objExcel.DisplayAlerts = True
objWorkbook.Saved = True
objWorkbook.Close False
objExcel.Quit
Set objExcel = Nothing
Set objWorkbook = Nothing

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Email mit Bild von Bereich
06.03.2023 21:45:58
Bereich
Vergiss VBScript. Ich würde eher AutoIt nutzen. https://www.autoitscript.com/site/
Anzeige

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige