Domino 9 und frühere Versionen > ND8: Entwicklung
Mail mit Button versenden
(1/1)
kruemelmaus:
Hallo,
ich habe folgendes Problem: Wir haben ein Umfrageformular gebaut, in der jeder Mitarbeiter sich sein
neues Mobiltelefon aussuchen kann. Dort hat er auch die Möglichkeit sein jetziges Gerät zu erwerben.
Entscheidt er sich hierfür möchte ich manuel per Button eine Mail an den Mitarbeiter versenden.
Hierzu habe ich folgenden Code für den Button erstellt:
Sub Click(Source As Button)
Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim rtBody 'As NotesRichTextItem
Dim attachme 'As NotesRichTextItem' 'Anhang Richtext
Dim embedobj 'As NotesEmbeddedObject' 'Eingebettest Objekt
Dim empfaenger As Variant
'Set empfaenger = tom mueller
Set db = session.CurrentDatabase
Set doc = New NotesDocument( db )
doc.Form = "Memo"
'doc.SendTo = empfaenger
doc.Subject = "Mobilfunkaustausch 2015 - Mitarbeiterkauf"
doc.Principal = "IT-Service"
Set rtBody = doc.CreateRichTextItem("body")
Set attachme = doc.CreateRichTextItem("attachment")
Set embedobj = attachme.EmbedObject(1454, "", "C:\Temp\Schreiben IPhone.docx", "")
rtBody.appendText "Hier kommt die Bestätigung für den Kauf des eigenen iPhones"
rtBody.addnewline 2
Call doc.Send( False , "")
End Sub
Das funktioniert auch so einwandfrei.
Allerdings habe ich ein Problem mit dem Adressieren der Mail. Hierzu soll ein Feld aus dem vorher ausgefülltem Formular verwendet werden.
Wie bekomme ich das Notesscript daszu das Feld "Email" zu verwenden?
Über Hilfe würde ich mich sehr freuen.
Gruß
Oliver
Tode:
Wenn das Ganze aus dem geöffneten Dokument aufgerufen wird
--- Code: ---'- Oben einfügen
Dim ws as New NotesUIWorkspace
Dim uidoc as NotesUIDocument
Set uidoc = ws.CurrentDocument
'- und dann weiter unten
doc.SendTo = uidoc.Document.Email
--- Ende Code ---
Klafu:
Die Mailadresse steht in dem Dokument in dem sich auch der Button befindet?
Dann würde ich über den Workspace darauf zugreifen.
Set ws = New NotesuiWorkspace 'Represents the current Notes workspace window.
Set uidoc = ws.CurrentDocument 'Represents the document that's currently open in the Notes workspace.
und dann
doc.SendTo = uidoc.FieldgetText("empfaenger")
Eventuell würde ich auch den Namen aus deinem Script entfernen falls es sich nicht um ein Beispiel handelt ;)
Chris
Edit: Okay, Torsten war schneller ;D
Tode:
FieldGetText ist gefährlich: Wenn empfaenger nicht bearbeitbar ist -> Fehler... Wenn empfaenger ein Mehrfachwert ist, dann wird das von FieldGetText als Komma- separierter Einfachwert geholt und vom Router u.U. auch nur als ein Wert interpretiert -> nur eine Mail geht raus, und die kommt u.U. sogar als Delivery- Failure wieder zurück, weil die Adresse ungültig ist...
Navigation
[0] Themen-Index
Zur normalen Ansicht wechseln