Hallo Notesfreunde,
ich möchte für alle User zentral eine Mailsignatur vorgeben. Dazu habe ich im Forum schon viele Hinweise und Scriptbeispiele gefunden. Meine Vorgehensweise ist nun folgende. Ich hinterlege im öffentlichen Adressbuch unter dem Reiter Verschiedenes -> Webseite die Signatur des Users. Mit dem Script im Postopen der Inbox kopiere ich die Signatur in das CalendarProfile.
Ich habe nur noch ein "kleines" Problem. Wenn keine Signatur im Feld Website vorhanden ist, wird die bestehende Signatur trotzdem überschrieben. Wie kann ich das Feld Website auf leeren Inhalt prüfen?
Danke für Infos :-)
Gruß
Bernd
Server R6.5.5FP1
Clients R5.12/6.5.5
Sub Postopen(Source As Notesuiview)
Dim dbPAB As NotesDatabase
Dim dbNAB As NotesDatabase
Dim nnUserName As NotesName
Dim viewPeople As NotesView
Dim docPerson As NotesDocument
Dim session As NotesSession
Dim dbCurrent As NotesDatabase
Dim db As NotesDatabase
Dim docCalenderProfile As NotesDocument
Dim itemSignature As NotesItem
Set Session = New NotesSession
Set dbCurrent = session.CurrentDatabase
' pruefe ob die enames.nsf lokal auf der Workstation vorhanden ist
' enames.nsf ist eine Replik des Server Adressbuchs
Set dbNAB = session.GetDatabase("", "enames.nsf")
If dbNAB.IsOpen = False Then Goto Serverpruefung
'Messagebox "enames.nsf der lokalen Workstation wird verwendet",,"ChangeSignaturPruefung"
Goto ChangeSignatur
Serverpruefung:
'pruefe ob die names.nsf auf dem Server vorhanden ist
Set dbNAB = session.GetDatabase(dbCurrent.Server, "names.nsf")
If dbNAB.IsOpen = False Then Goto FinishFunction
'Messagebox "names.nsf vom SERVER wird verwendet",,"ChangeSignaturPruefung"
ChangeSignatur:
'Messagebox "ChangeSignatur wird ausgeführt",,"ChangeSignaturPruefung"
' ermittle das Personendokument des aktuell angemeldeten Users
' wenn keine Personen gefunden wurde, dann beende die Funktion
Set viewPeople = dbNAB.GetView("($VIMPeople)")
Set nnUserName = New NotesName(session.UserName)
Set docPerson = viewPeople.GetDocumentByKey(nnUserName.Abbreviated)
If docPerson Is Nothing Then Goto FinishFunction
' lese Feld Website aus dem Personendokument aus
VorgabeSignatur = docPerson.Website
' --> wie kann ich das Feld auf leeren Inhalt prüfen?
' ein If VorgabeSignatur = "" oder If Isempty(VorgabeSignatur) = True then .... geht nicht :-(
Set session = New NotesSession
Set db = session.CurrentDatabase
Set docCalendarProfile = db.GetProfileDocument("CalendarProfile")
Set itemSignature = docCalendarProfile.GetfirstItem("Signature_1")
' Setze Signatur bei jedem neuen Mail in das Memo Feld
'docCalendarProfile.EnableSignature = "1"
docCalendarProfile.SignatureOption = "1"
docCalendarProfile.Signature_1 = VorgabeSignatur
Call docCalendarProfile.Save(False, False)
Call docCalendarProfile.ComputeWithForm(True,False)
FinishFunction:
End Sub