Beiträge von Heinz

    Code
    'E-Mail senden (über David aus EXCEL)
       l = oMailItem.Recipients.Add(mMail_Adresse, "MAIL", "")
       oMailItem.Subject = sMail_Betreff                'Betreff-Text
       oMailItem.BodyText.HTMLText = sM_Text            'E-Mail-Text
       oMailItem.BodyText.PlainText = mMail_Termin      'Verzögern ("@@Termin +__@@")
       oMailItem.Options.UserHold = False               'nicht warten
       oMailItem.Options.Priority = 0                   '0=Normal
       Set oAttachment = oMailItem.Attachments.Add(sMail_AnhangOrt)
       oMailItem.Send                                   'absenden 

    Das funktioniert unter Win7 (Excel 2016) seit Wochen perfekt.

    Unter Win11 (Excel 2021) stürzt Excel bei „oMailItem.Send“ immer ab – die Mail wird nicht versendet!

    Hat jemand sowas schon gehabt?

    Kann es an irgend welchen Windows-Rechten liegen?

    Ich habe es jetzt mehrmals getestet – es funktioniert!

    Irgendwelche Nebeneffekte konnte ich (bis jetzt) nicht feststellen.

    Mit >BodyText.HTMLText< kann der (sichtbare) E-Mail-Text eingefügt und
    gleichzeitig
    mit >BodyText.PlainText< kann die (unsichtbare) Sende-Verzögerung in Minuten

    eingestellt werden (Code: siehe vorhergehenden Eintrag).

    Ich habe es jetzt so gelöst, dass ich mit >BodyText.HTMLText< den E-Mail-Text einfüge und die Sende-Verzögerung mit >BodyText.PlainText< mache.

    Wenn es jemand gebrauchen kann, hier eine Lösung mit (Excel)-VBA:

    Kann >BodyText.HTMLText< und >BodyText.PlainText< in einer E-Mail unter VBA (Excel) gleichzeitig und gemeinsam verwendet werden?
    Gibt es hier irgendwelche Nachteile oder Bedenken?

    Code
      oMailItem.BodyText.HTMLText = "<b> Com.: Testobjekt </b>"     'MailText
      oMailItem.BodyText.PlainText = "@@Termin +5@@"     'Sende-Verzögerung

    Der Grund:

    Die David-Steuerfunktion >"@@Termin +5@@"< funktioniert innerhalb eines HTML-Textes (bei mir) nicht.

    Ggf. müssen da noch weiter HTML-Steuerbefehle mit eingefügt werden??
    Wen ja, Welche?

    Habe es bisher nicht hin bekommen, dass diese Steuerfunktion im HTML-Text erkannt wird.

    Ist schon der warten Status der Mail.
    Hast du das Archive gesetzt bevor du das MailItem erzeugst?

    Ja, so

    'Tobit Archiv einlesen ('102 = Ausgangsarchiv ; '105 = Drafts/Entwürfe)

    Set oArchive = oAccount.GetSpecialArchive(DvApi32.DvArchiveTypes.DvArchivePersonalOut)

    '''Set oArchive = oAccount.GetSpecialArchive(DvApi32.DvArchiveTypes.DvArchivePersonalDrafts)


    'Neuen Archiveintrag anlegen

    Set oMailItem = oArchive.NewItem(DvApi32.DvItemTypes.DvEMailItem)

    Sorry, bin neu hier!

    Ich suche vergeblich nach eine Möglichkeit unter Excel-VBA eine

    E-Mail mit Anhang zu erstellen und nicht(!) gleich zu versenden.

    Im Netz gibt’s halt kaum was über Tobit/David unter VBA.

    Die vorgenannte Hilfe hilft mir dabei aber auch nicht wirklich weiter.

    Option Explicit
    Dim oApp As DvApi32.IApplication
    Dim oAccount As DvApi32.Account
    Dim oArchive As DvApi32.Archive
    Dim oMailItem As DvApi32.MailItem
    Dim oAttachment As DvApi32.Attachment
    Dim l As Long

    Set oApp = CreateObject("DVOBJAPILib.DvISEAPI")
    Set oAccount = oApp.Logon("", "", "", "", "", "AUTH")
    Set oArchive = oAccount.GetSpecialArchive(DvApi32.DvArchiveTypes.DvArchivePersonalOut)
    Set oMailItem = oArchive.NewItem(DvApi32.DvItemTypes.DvEMailItem)
    l = oMailItem.Recipients.Add("user@domain.com", "MAIL", "")
    oMailItem.Subject = "HTML mail with inline Grafik"
    oMailItem.BodyText.HTMLText = "That it is
    "
    oMailItem.Options.UserHold = True
    Set oAttachment = oMailItem.Attachments.Add("c:\\Images\\logo.jpg", "cid:myimgcid")

    oMailItem.Fields("Priority").Value = 0 '0 = Normal, 1 = Low, 2 = Important
    ''''' diese Anweisung funktioniert nicht! - was muss hier geändert werden?

    oMailItem.Send ' E-Mail absenden

    Set oApp = Nothing
    Set oAccount = Nothing
    Set oArchive = Nothing
    Set oMailItem = Nothing

    wie kann eine E_Mail (unter Entwürfe) gespeichert statt gesendet werden?


    Dim oApp As DvApi32.IApplication

    Dim oAccount As DvApi32.Account

    Dim oArchive As DvApi32.Archive

    Dim oMailItem As DvApi32.MailItem

    Dim oAttachment As DvApi32.Attachment

    Dim l As Long


    Set oApp = CreateObject("DVOBJAPILib.DvISEAPI")

    Set oAccount = oApp.Logon("", "", "", "", "", "AUTH")

    Set oArchive = oAccount.GetSpecialArchive(DvApi32.DvArchiveTypes.DvArchivePersonalOut)

    Set oMailItem = oArchive.NewItem(DvApi32.DvItemTypes.DvEMailItem)

    l = oMailItem.Recipients.Add("user@domain.com", "MAIL", "")

    oMailItem.Subject = "HTML mail with inline Grafik"

    oMailItem.BodyText.HTMLText = "<hmtl><body>That it is<br><img src='cid:myimgcid'></body></html>"

    oMailItem.Options.UserHold = True

    Set oAttachment = oMailItem.Attachments.Add("c:\\Images\\logo.jpg", "cid:myimgcid")


    ' oMailItem.Send ' funktioniert

    oMailItem.Save ' funktioniert nicht

    ''''' wie kann eine E_Mail (unter Entwürfe) gespeichert statt gesendet werden?


    Set oApp = Nothing

    Set oAccount = Nothing

    Set oArchive = Nothing

    Set oMailItem = Nothing

    Der Programm-Code oben funktioniert bei mir (mit oMailItem.Send).

    Wie kann ich jedoch eine E-Mail anlegen und NICHT senden, sondern unter Entwürfe ablegen ?

    Mit MailItem.save funktionierte es nicht.