Excel 2000
Lotus Notes 6.5
Late Binding - Early Binding möglich aber bisher nicht genutzt
Liebe Notes Gemeinde,
ich hoffe erst einmal, dass ich hier richtig bin.
In Ermangelung einer guten Lösung bei uns im Hause, habe ich mir selbst zu einem Thema ein Excel Tool gebastelt. Dabei befinden sich Datensätze in einer Listbox aufgelistet.
Per Tastendruck wird dann ein Memo an einen email Empfänger gerichtet (der Adressat ergibt sich aus dem gerade gewählten Datensatz) - Das klappt auch super!
ZIEL: Ein Memo an einen Empfänger senden, kontextbezogen einen Text einfügen zB "Sehr geehrte Damen und Herren " + Zeilenumbruch + "Sie müssen bei folgenden Betrieben: " + Zeilenumbruch + Textvariable1 + Zeileneumbruch + Textvariable2 + "noch Ermittlungen führen" UND anschließend das Memo zur weiteren Bearbeitung öffnen / bereit stellen, Versand anschließend manuell.
Die Textvariablen bzw String werden in Excel zusammengestellt. Das habe ich auch hinbekommen.
ABER ich schaffe es leider nur ENTWEDER das Memo zur Bearbeitung zu öffnen ODER Text zu übergeben. Sobald ich Text übergebe bekomme ich nur einen sofortigen Versand des Memo hin, ein Öffnen zur weiteren Bearbeitung ist mir nicht gelungen. IN dem beiliegenden Script wird das Memo zur weiteren Bearbeitung geöffnet, aber leider kein Text / String übergeben.
Es wäre von daher super, wenn Ihr eine Lösung wüßtet, wie man beides hinbekommt.
ZWEITES ALTERNATIVES ZIEL: Wäre eine Möglichkeit eine Memovorlage zu nutzen. Wenn diese nicht vorhanden ist, ein Memo zu erstellen und wenn die Vorlage vorhanden ist, dann diese auch zu nutzen. Hat hierzu jemand eine Idee? Ich habe leider überhaupt keine Ahnung, wie man eine Vorlage ansprechen und mit dem Empänger Daten versorgen und anschl zur Bearbeitung öffnen könnte
Public Sub SendNotesMail(Subject As String, Attachment As String, Recipient As String, bodyText As
String)
On Error Resume Next
Dim Maildb As Object
Dim UserName As String
Dim MailDBName As String
Dim MailDoc As Object
Dim Item2 As Object
Dim AttachME As Object
Dim session As Object
Dim EmbedObj As Object
Dim NotesUser As String
Dim Workspace As Variant
'UserName = Session2.UserName
Set session = CreateObject("Notes.NotesSession")
UserName = session.UserName
NotesUser = UserName
MailDBName = Left$(UserName, 1) & Right$(UserName, (Len(UserName) - InStr(1, UserName, " "))) & ".n
sf"
Set Maildb = session.GETDATABASE("", MailDBName)
If Maildb.IsOpen = True Then
Else
Maildb.OPENMAIL
End If
Set MailDoc = Maildb.CREATEDOCUMENT
MailDoc.Form = "Memo"
'MailDoc.replaceitemvalue("sendto", Recipient)
'Recipient = "Thorsten Wiedemann"
'Call Notesmail.ReplaceItemValue("sendto", Split(Recipient, ","))
MailDoc.sendto = Recipient
MailDoc.Subject = Subject
MailDoc.Body = Chr(2)
MailDoc.ADDNEWLINE1
MailDoc.ADDNEWLINE2
MailDoc.ADDNEWLINE3
'MailDoc.Body = bodyText
'MailDoc.CREATERICHTEXTITEM ("Body")
'With MailDoc
'.APPENDTEXT bodyText
'.ADDNEWLINE1
'End With
MailDoc.SaveMessageOnSend = True
If Attachment <> "" Then
mNotes - 3
Set AttachME = MailDoc.CREATERICHTEXTITEM("Attachment")
Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", Attachment, "Attachment")
MailDoc.CREATERICHTEXTITEM ("Attachment")
End If
'MailDoc.PostedDate = Now()
'MailDoc.send 0, Recipient
Set Workspace = CreateObject("Notes.NotesUIWorkspace")
Call Workspace.EditDocument(True, MailDoc).GotoField("Body")
Set Maildb = Nothing
Set MailDoc = Nothing
Set session = Nothing
Set AttachME = Nothing
Set EmbedObj = Nothing
End Sub
Vielen Dank für jede Hilfe, jeden Hinweis, jeden Gedanken, jeden Link
Gruß aus Bonn
Thorsten
Hallo Peter,
VIELEN VIELEN DANK! Ihr seid hier ja echt aktiv! - und nett! In manch anderem Forum hätte man erstmal einen schönen Verweis auf das Forum bekommen... Sehr freundlich!
Das verleitet mich auch gleich zu einer Anschlußfrage nach Test.
Ich habe nun den Code mitels Deiner Hinweise und einiger Einträge aus dem Forum umgebaut - ergänzt. Jetzt versteh ich aber erstmal das mit dem Attachment und NotesRichTextItem. Ich hatte immer ein Attachment als Anhang interpretiert im Sinne von einem *.pdf Dokument... Anyway...
mein AKTUELLES PROBLEM: Die Signatur... Wenn ich das korrekt verstanden habe, dann wid die Signatur erst beim Erstellen / öffnen des Memo erzeugt und das ist stets erst nach der Zusammenstellung im Backend, richtig?
Nun habe ich hier im Forum einen Codeschnipsel gefunden, mit dem man wohl die Signatur ausliest, dann an den Text dran hängt, danach ausschaltet um sie nicht wieder vor den Text zu haben, wenn man das Memo öffnet und dann wieder einschaltet, damit der Nutzer die Signatur wieder zur Verfügung hat, wenn er sie denn nutzt.
Diesen Code habe ich hier Forum gefunden und betreffend der Signatur eingefügt (die zugehörigen Deklarationen habe ich natürlich durchgeführt / angepasst)
'Uns interessiert ob Signatur verwendet wird
if profile.GetFirstItem("EnableSignature").Text="1" then
'Signatur wird verwendet
bolSignaturEnabled=True
'Signatur auslesen
set rtsignature=profile.getfirstitem("Signature_Rich")
If rtsignature.Type = 1 Then
'dranhängen
rtBody.appendrtitem rtsignature
'Zeilenumschaltungen
rtBody.addnewline 2
end if
'Nun schalten wir Signatur aus!
profile.EnableSignature=""
profile.save false,false
end if
Wenn ich diesen Block auskommentiere, dann ist die Sigantur enthalten, aber der Text kommt leider erst nach der Signatur. Solange ich den Block NICHT auskommentiere, fehlt die Signatur gänzlich, der Text ist jedoch enthalten.
ich dachte, dass die Signatur durch die Zeile
rtBody.appendrtitem rtsignature
eingefügt wird, nachdem sie zuvor ausgelesen wurde.
Kann es sein, dass in Lotus Notes 6.5 die Signatur anders ausgelesen wird? (wir nutzen LN 6.5 und Excel 2000) Ich kann leider nicht feststellen, ob es sich bei dem rtsignature
set rtsignature=profile.getfirstitem("Signature_Rich")
bzw überhaupt bei einem RichtTextItem um einen textknoten handelt, oder um ein Objekt. Ich kann jedenfalls "rtsignature" nicht (in VBA) auslesen.
In der Zeile
If rtsignature.Type = 1 Then
meldet mir Excel, dass das Object = nothing ist. Ich habe allerdings mittels On Error Resume Next die Fehlerbehandlung ausgeschaltet, also läuft der VBA Code durch.
es wäre super, wenn ich de Signatur UND den Text in das Memo bekäme. Bisher muß ich mich leider entscheiden, denn den Text NACH der Signatur zu bekommen ist etwas unschön ;)
Ob Du / Ihr / jemand dabei bitte nochmal helfend kommetieren könntet? Das wäre echt super!
unbedingt nochmal: VIELEN DANK - Super Forum
viele Grüße vom Rhein
Thorsten