Das Notes Forum

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 )
   
   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
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...