Und nochmal sorry,
haben einen ekelhaften Stromausfall gehabt, so kurz bevor wir unsere neue leistungsfähigere USV bekommen haben.
Tja, man muß auch ma verlieren können !!
Also nun dann jetzt erst der gewünschte Code:
im Postopen des DB Scriptes kommt folgender Code:
Dim s As New NotesSession
Dim ws As New NotesUIWorkspace
Dim db As NotesDatabase
Dim nab As NotesDatabase
Dim profdoc As NotesDocument
Dim nabview As NotesView
Dim nabdoc As NotesDocument
Dim nabName As New NotesName(s.UserName)
Dim key As String
Set db = s.CurrentDatabase
Set nab = s.GetDatabase(db.Server,"names.nsf") ' Achtung bei Verwendung mehrerer MailServer
Set nabview = nab.GetView("($VIMPeople)")
key = nabName.Abbreviated
If Not ( db.Server = "" ) Then ' Nur wenn DB auf Server nicht lokal
Set nabdoc = nabview.GetDocumentByKey(key)
'################# Signatur zusammenbauen################
' Funktion mit mehrfach - Moeglichkeit
Dim F_Val As Variant
Dim F_item As NotesItem
Set F_item = nabdoc.GetFirstItem("Department") ' Nur nötig, wenn Mehrfachwerte im Feld Department
f = 0
If Not F_item.Text = "" Then
Forall v In F_item.Values
tmp_Funktion = tmp_Funktion & v & Chr(13)
End Forall
Else
tmp_Funktion = ""
End If
tmp_name = nabname.Common + Chr(13)
tmp_Firma = nabdoc.CompanyName(0) + Chr(13)
tmp_PLZ = nabdoc.OfficeZip(0)
tmp_City = nabdoc.OfficeCity(0)
tmp_strasse = nabdoc.OfficeStreetAddress(0) + Chr(13)
tmp_fon = nabdoc.OfficePhoneNumber(0)
If Not tmp_fon = "" Then
tmp_telefon = "Phone" & Chr(9) & tmp_fon & Chr(13)
Else
tmp_Telefon = ""
End If
tmp_fax = nabdoc.OfficeFAXPhoneNumber(0)
If Not tmp_fax = "" Then
tmp_telefax = "Fax" & Chr(9) & tmp_fax & Chr(13)
Else
tmp_Telefax = ""
End If
tmp_mob = nabdoc.CellPhoneNumber(0)
If Not tmp_Mob = "" Then
tmp_Mobil = "Mobile" & Chr(9) & tmp_mob & Chr(13)
Else
tmp_Mobil = ""
End If
Dim M_Val As Variant
Dim M_item As NotesItem
Set M_item = nabdoc.GetFirstItem("InternetAddress")
Forall v In M_item.Values
tmp_M = tmp_M & v & Chr(13)
Exit Forall ' direkt nach der ersten Mailadresse rausspringen:
End Forall
tmp_Mail = "mailto:" & tmp_M
tmp_web ="
http://www." & Strtoken(tmp_Mail,"@",2)
tmp_signatur = Chr(13) & Chr(13) & Chr(13) & tmp_name & tmp_Funktion & tmp_Firma & tmp_Strasse & tmp_PLZ & " " & tmp_City & Chr(13) & Chr(13) & tmp_Telefon & tmp_Telefax & tmp_Mobil & Chr(13) & tmp_Mail & tmp_web
'#######################################################
Set profdoc = db.GetProfileDocument("CalendarProfile")
Call profdoc.ReplaceItemValue("Signature_1", tmp_signatur )
Call profdoc.Save(True,False)
Dim uiprofile As NotesUIDocument
If Not profdoc.owner(0) = "" Then
Set uiprofile = ws.EditProfile("CalendarProfile")
Call uiprofile.save
Call uiprofile.close
Else
err_msg = Msgbox("Die Datenbank wird aktualisiert und muss dafür geschlossen werden. Bitte öffnen Sie sie anschliessend erneut.",16, "DATENBANKAKTUALISIERUNG")
Call db.close
End If
End If
CODE ENDE
In meinem Fall bin ich dann noch zusätzlich hingegeangen und habe im CalenderProfile die Bearbeitung der Signatur deaktiviert (von bearbeitbar in berechnet). Allerdings ist die Signatur trotzdem im Body entfernbar bzw. veränderbar.
Es gibt da wohl auch professionelle Tools, die das anders und unveränderbar können, die aber wat kosten.
Naja und bei uns reichte das halt so.
Ich hoffe,, ihr könnt es gebrauchen
@headshrinker,
>> wir das auch bei internen Mails gesetzt? <<
leider ja. Das liegt daran, daß ich mir die Mühe nicht machen wollte, in den unendlichen Weiten der Lotus Development - Klassen rumzusuchen, wann die Mail entgültig an den Mailer übergeben wird. Denn nur da kann man in die Mail etwas Text hinzufügen,
1. ohne daß ein Benutzer es mehr verändern kann und
2. man dann dort überprüfen kann, wohin die Mail geht.
Ich würde mir das aber gut überlegen, wie du das anstellen willst. Da eine solche Abfrage auch auf die Performance geht. Ausserdem musst du dir überlegen, was du machen willst, wenn z. B. die mail im SendTo 4 interne und 1 externen Empfänger hat. Die Abfrage darfst du dann auch auf CopyTo und BCCTo ausdehenen.
Bei 2000 Notesusern ist das wohl gut zu überlegen!!
fsinani