Autor Thema: Bild aus Excel oder Dateipfad in "Body" einfügen  (Gelesen 4738 mal)

Offline Hias90

  • Frischling
  • *
  • Beiträge: 2
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


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
« Letzte Änderung: 14.12.21 - 10:53:29 von Tode »

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.290
  • Geschlecht: Männlich
Re: Bild aus Excel oder Dateipfad in "Body" einfügen
« Antwort #1 am: 14.12.21 - 11:48:31 »
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.

Hier frage ich mich: Passt das jetzt oder nicht?
Gruss Erik :: Freelancer :: KI-Dev, Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16 / OLI 2.0

--
Nur ein toter Bug, ist ein guter Bug!

Offline Tode

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Bild aus Excel oder Dateipfad in "Body" einfügen
« Antwort #2 am: 14.12.21 - 13:49:48 »
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" )
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline Hias90

  • Frischling
  • *
  • Beiträge: 2
Re: Bild aus Excel oder Dateipfad in "Body" einfügen
« Antwort #3 am: 14.12.21 - 15:09:38 »

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.

Offline Tode

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Bild aus Excel oder Dateipfad in "Body" einfügen
« Antwort #4 am: 14.12.21 - 15:34:49 »
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...
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.290
  • Geschlecht: Männlich
Gruss Erik :: Freelancer :: KI-Dev, Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16 / OLI 2.0

--
Nur ein toter Bug, ist ein guter Bug!

Offline Tode

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Bild aus Excel oder Dateipfad in "Body" einfügen
« Antwort #6 am: 14.12.21 - 15:42:27 »
@Erik: Wenn Du ihm jetzt noch erklärst, wie er aus VBA von seinem Backend NotesDocument auf ein Frontend- NotesUIDocument kommt, um die Methode aufzurufen, dann ist ja alles geklärt...
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.290
  • Geschlecht: Männlich
Re: Bild aus Excel oder Dateipfad in "Body" einfügen
« Antwort #7 am: 14.12.21 - 15:46:03 »
Ich habe mich auf diese Aussage bezogen:
Vor allem ein händisches Copy -> Paste funktioniert aber ich finde nichts, dies über VBA hinzubekommen.
Gruss Erik :: Freelancer :: KI-Dev, Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16 / OLI 2.0

--
Nur ein toter Bug, ist ein guter Bug!

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.290
  • Geschlecht: Männlich
Re: Bild aus Excel oder Dateipfad in "Body" einfügen
« Antwort #8 am: 14.12.21 - 15:52:28 »
Ach ja, in Excel kommt man an das Notes-Frontend so heran:
Code
   Dim ws As Object
   Set ws = CreateObject("Notes.NOTESUIWORKSPACE")

Mal so als Startgeber :)
Gruss Erik :: Freelancer :: KI-Dev, Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16 / OLI 2.0

--
Nur ein toter Bug, ist ein guter Bug!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz