Domino 9 und frühere Versionen > ND7: Entwicklung
Mailsend button
Alperen15:
Hallo alle zusammen. Ich habe hier eine Schaltfläche die ne mail verschicken soll, wenn man die Schaltfläche betätigt...allerdings habe ich eine Fehlermeldung "Object varialbe not set" an der Fett markierten Stelle. Ich habe doch doc definiert. Würde mich sehr freuen wenn Ihr mir sagen würdet was genau da falsch ist.
Sub Click(Source As Button)
Dim session As New NotesSession
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim db As NotesDatabase
Dim names As NotesDatabase
Dim namesdoc As NotesDocument
Dim ProfilDoc As NotesDocument
Dim uid As String
Dim namespath As Variant
Dim email As NotesDocument
Dim rtitem As NotesRichTextItem
Set db = session.CurrentDatabase
Set uidoc = ws.CurrentDocument
Set doc = uidoc.Document
If doc.fdNeuVerantwortlicher = "" Then
'email versenden
Set email = New NotesDocument(db)
email.Form = "Memo"
email.Subject = "Ein neuer Verbesserungsvorschlag ist eingetroffen"
Set rtitem = New NotesRichTextItem( email, "Body" )
Call rtitem.AppendText( "Umsetzung des Vorschlags wurde durch den LAS freigegeben. Link zum Dokument --> " )
Call rtitem.AppendDocLink(doc, "link to document" )
Call email.Send( False, doc.fdVerantwortlicher)
Msgbox("Verantwortlicher wird informiert")
Else
'email versenden
Set email = New NotesDocument(db)
email.Form = "Memo"
email.Subject = "Ein neuer Verbesserungsvorschlag ist eingetroffen"
Set rtitem = New NotesRichTextItem( email, "Body" )
Call rtitem.AppendText( "Umsetzung des Vorschlags wurde durch den LAS freigegeben. Link zum Dokument -->" )
Call rtitem.AppendDocLink(doc, "link to document" )
Call email.Send( False, doc.fdNeuVerantwortlicher)
Msgbox("Verantwortlicher wird informiert")
End If
doc.fdYesNo4 = "Yes"
doc.fdNameYes4= session.CommonUserName
doc.fdDatumYes4 = Now
'doc speichern
Call uidoc.Refresh
Call doc.Save(True, False)
End Sub
oxyd21:
If doc.fdNeuVerantwortlicher(0) = "" Then
koehlerbv:
Das ergibt aber einen Type mismatch statt "Object variable not set".
Bernhard
Alperen15:
Danke oxyd21, jep Bernahrd hast recht :)
Peter Klett:
Das hattest Du nicht gefragt, bekommst aber trotzdem eine Antwort: Du schreibst viel Script doppelt. Dabei unterscheiden sich die beiden Mails nur darin, aus welchem Feld der Empfänger gezogen wird. Dein Code wird dadurch schwerer les- und wartbar. Versuche, alles nur einmal zu schreiben.
sinngemäß:
Dim verantwortlicher As Variant
If doc.fdNeuVerantwortlicher (0) = "" Then
verantwortlicher = doc.fdNeuVerantwortlicher
Else
verantwortlicher = doc.fdVerantwortlicher
End If
'email versenden
....
Call email.Send( False, verantwortlicher)
....
Natürlich gibt es noch viele andere Möglichkeiten, das zu schreiben, aber vermeide Doppeltes !
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln