Bild in eine MSG-Datei einfügen

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von VaporiZed.

    Bild in eine MSG-Datei einfügen

    Hallo habe einen Source, in dem ich ein Bild auswählen und in eine MSG-Datei einfügen will.
    Die Msg-Datei öffne ich in einer RichTextBox. Sobald ich das Bild auswähle kommt der Fehler:

    "Fehler beim einfügen des Bildes: Public Member 'OlattachmentType' on Type Applicvation not found. ChatGPT schickt mich immer im Kreis herum.
    Bitte Hilfe für einen Anfänger. :saint:


    VB.NET-Quellcode

    1. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    2. ' Dialog, um ein Bild auszuwählen
    3. Dim openFileDialog As New OpenFileDialog()
    4. openFileDialog.Filter = "Bilder (*.bmp;*.jpg;*.jpeg;*.png;*.gif)|*.bmp;*.jpg;*.jpeg;*.png;*.gif"
    5. If openFileDialog.ShowDialog() = DialogResult.OK Then
    6. Try
    7. ' Lade den Pfad des Bildes
    8. Dim imagePath As String = openFileDialog.FileName
    9. ' Überprüfen, ob eine Nachricht ausgewählt ist
    10. If lstMsgFiles.SelectedItem Is Nothing Then
    11. MessageBox.Show("Bitte wählen Sie eine Nachricht aus, bevor Sie ein Bild einfügen.")
    12. Return
    13. End If
    14. Dim filePath As String = lstMsgFiles.SelectedItem.ToString()
    15. ' Outlook-Objekt und Nachricht laden
    16. Dim outlookApp As New OutlookApp.Application()
    17. Dim mailItem As OutlookApp.MailItem = CType(outlookApp.CreateItemFromTemplate(filePath), OutlookApp.MailItem)
    18. ' Content-ID und HTML-Tag für das Bild erstellen
    19. Dim imageCid As String = Guid.NewGuid().ToString()
    20. Dim imageTag As String = $"<img src=""cid:{imageCid}"" />"
    21. Dim currentHtml As String = mailItem.HTMLBody
    22. ' Bild-HTML in die Nachricht einfügen
    23. mailItem.HTMLBody = imageTag & currentHtml
    24. ' Bild als eingebetteten Anhang hinzufügen
    25. Dim attachment As OutlookApp.Attachment = mailItem.Attachments.Add(
    26. imagePath,
    27. outlookApp.OlAttachmentType.olByValue,
    28. Nothing,
    29. "Embedded Image"
    30. )
    31. ' Content-ID des Anhangs setzen
    32. attachment.PropertyAccessor.SetProperty(
    33. "http://schemas.microsoft.com/mapi/proptag/0x3712001E",
    34. imageCid
    35. )
    36. ' Nachricht speichern
    37. mailItem.SaveAs(filePath)
    38. MessageBox.Show("Bild erfolgreich hinzugefügt und gespeichert!")
    39. Catch ex As Exception
    40. MessageBox.Show("Fehler beim Einfügen des Bildes: " & ex.Message)
    41. End Try
    42. End If
    43. End Sub
    @supporti Willkommen im Forum. :thumbup:
    Trenne zunächst Diene Probleme:
    - Untersuche, wie man ein Bild in eine RichTextBox einfügt
    - Teste das Senden des Ganzen.
    - Kläre auf, wo genau die Exceptions kommen, das geht am besten ohne Try/Catch.
    ====
    Frag Frau Google nach VB.NET Bild in eine RichTextBox einfügen
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Willkommen im Forum.
    Public Member 'OlattachmentType' on Type Application not found find ich ziemlich eindeutig. Durch die Tatsache, dass Du anscheinend sowohl den importierten Outlook-Namespace als auch die Outlook-Instanz OutlookApp nennst, kann Dein Programm nicht mehr richtig zwischen beiden unterscheiden. In Zeile#34 vermutet das Programm die Outlook-Instanz, obwohl der Namespace gemeint ist. Schreib dort statt outlookApp.OlAttachmentType.olByValue, mal das hier hin und sag, was rauskommt: Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.