Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: kruemelmaus am 05.03.15 - 09:32:24
Titel: Mail mit Button versenden
Beitrag von: kruemelmaus am 05.03.15 - 09:32:24
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 )
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
Titel: Re: Mail mit Button versenden
Beitrag von: Tode am 05.03.15 - 09:44:13
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
Titel: Re: Mail mit Button versenden
Beitrag von: Klafu am 05.03.15 - 09:48:39
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
Titel: Re: Mail mit Button versenden
Beitrag von: Tode am 05.03.15 - 11:16:24
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...