Lotus Notes / Domino 10 > ND10: Entwicklung
Bild aus Excel oder Dateipfad in "Body" einfügen
Hias90:
Hallo zusammen,
bin neu hier und auch relativ neu in der Programmierung mit und um Notes.
Hoffe hier kann mir jemand helfen!
Ich habe mittlerweile folgenden Code gefunden / geschrieben / angepasst:
--- Code: ---Public Sub btnEntwurfTeam1A_click()
EmailTeam1A = Sheets(Sh3).Range(CellEmailTeam1A)
NameTeam1A = Sheets(Sh3).Range(CellNameTeam1A)
txtEmail = EmailTeam1A
txtSubject = "Präsentation KVP-Ziele: " & NameTeam1A
txtBody = Sheets(Sh1).Range("B6:C20").Copy
Save_Entwurf
MsgBoxEntwurf1Sekunden
End Sub
Public Function Save_Entwurf()
Set session = CreateObject("Notes.NotesSession")
Set mailDB = session.currentdatabase
Set MailDoc = mailDB.CREATEDOCUMENT
Dim AttachMe As Object
attachment = "<Pfad zur Datei>"
' MailDoc.PostedDate = ""
MailDoc.Form = "Memo"
MailDoc.SendTo = Split(txtEmail, ";")
MailDoc.CopyTo = txtEmail2
' MailDoc.BlindCopyTo = bccRecipient
MailDoc.Subject = txtSubject
MailDoc.Body = txtBody
MailDoc.Save True, False
Set mailDB = Nothing
Set MailDoc = Nothing
Set session = Nothing
End Function
--- Ende Code ---
Dies macht alles was ich will, nur ich verzweifle daran, das im Body mein Text plus ein Screenshot meiner Tabelle (Bereich der Tabelle: B6:C20) vorhanden ist.
Wäre auch soweit, denn Bereich der Tabelle als .jpg in dem gleichen Ordner zu speichern um dieses dann einzufügen, falls es leichter wäre.
Mir fehlen nur die richtigen Befehle, bei VBA kann ich im Object Katalog oder Internet nach denn Befehlszeilen nach schauen.
Bei Notes habe ich noch nichts in der richtig gefunden.
Ich hoffe Ihr könnt mir helfen, will das schon gerne hinbekommen und somit wieder etwas dazu lernen.
Mit Freundlichen Grüßen
Matthias
jBubbleBoy:
--- Zitat von: Hias90 am 14.12.21 - 10:19:17 ---Dies macht alles was ich will, nur ich verzweifle daran, das im Body mein Text plus ein Screenshot meiner Tabelle (Bereich der Tabelle: B6:C20) vorhanden ist.
--- Ende Zitat ---
Hier frage ich mich: Passt das jetzt oder nicht?
Tode:
Du hast eines der schwierigsten Probleme überhaupt in LotusScript ausgesucht: Das importieren eines Bildes in ein Richtextitem. Das Anhängen eines Bildes als Attachment ist ein Zweizeiler... Für das Einfügen eines Bildes in ein RichtextItem brauchst Du entweder externe Kaufsoftware, oder Du muss mit Tricks arbeiten wie XML- Manipulation, Erstellen von Multipart Mime Messages oder Missbrauchen der Frontend- Klassen.
Jeder dieser Hacks ist leider nicht in wenigen Zeilen hier erklärt...
Der "einfache" Weg, das JPG einfach als Attachment einzufügen ginge so:
Ersetze die Zeile "MailDoc.Body = txtBody" durch:
--- Code: ---Dim body as NotesRichtextItem
Set body = New NotesRichtextItem( MailDoc, "Body" )
Call body.AppendText( txtBody )
Call body.AddNewLine( 2 )
Call body.EmbedObject( EMBED_ATTACHMENT, "", "PfadZuDeinem\bild.jpg" )
--- Ende Code ---
Hias90:
Hallo,
@jBubbleBoy: Entschuldige, das mit meinem Text ging nur eben das Bild ist noch mein Problem.
@Tode: Danke für deine Antwort, nur leider ist ein Anhang nichts für meinen Fall. Zur Erklärung, ich habe eine Tabelle mit Teamnamen und Namen der Mitglieder.
Diese Tabelle, wollte ich als Bild oder Tabelle einfügen und dachte als Bild müsste leichter gehen.
Vor allem ein händisches Copy -> Paste funktioniert aber ich finde nichts, dies über VBA hinzubekommen.
Da ich beim Erstellen eines Kalendereintrages schon gescheitert bin und mich dann für die umständliche Lösung entschieden habe eine Email als Entwurf
mit allen Daten zu erstellen, diesen dann in Notes per rechtsklick -> kopieren in einen Kalendereintrag umwandle, dachte ich vll gibt es auch eine einfache
Methode eben dieses "Copy -> Paste" zu programmieren. Hab auch schon dran gedacht die Tabelle als Bild zu speichern und dann einfügen, aber finde auch
hier keinen Befehl wie ich das gespeicherte Bild (temp.jpg) da rein bekomme.
Tode:
Dann schlage ich Dir fürs nächste Mal vor: Frage was Du erreichen WILLST, und nicht, welchen Workaround Du Dir dafür ausgedacht hast... Man kann im NotesRichtextItem nämlich mit LotusScript eine Tabelle über Set rtTable = body.AppendTable( ... ) erstellen und diese dann über das NotesRichtextTable- Objekt mit Daten befüllen... das geht wesentlich einfacher, als ein Bild der Tabelle einzufügen oder mit der Zwischenablage zu hantieren. Zwischenablage ist nämlich Frontend... Dein Code läuft aber im Backend... das geht also nur mit einigen Hacks...
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln