Hallo Leute,
ich bin Neuling in Lotus Script und brauche daher eure hilfe. Ich habe hier ein etwas im Internet gefunden mit dem man eine HTML Datei (Thema Signatur) erstellen kann.
Man erstellt ein neues Dokument. Darin hat man bestimmte Felder, die der User ausfüllen muss, wie Name, Abteilung, Tel-Nr., E-Mail Adresse, etc. Das macht der USer brav und klickt dann auf einen Button und eine HTML Datei wird im notes data verzeichnis erstellt und ins CalenderProfil Dokument des USers in seinem Mailfile definiert. Das funktioniert soweit auch alles perfekt, aber ich wollte das Ding so anpassen, dass der Datei-Name, der nach dem Klick auf diesen Button, nicht plumpt "MailSigHTML.htm" heißt, sondern eine persönlich Note bekommt. Sprich: Ich möchte das der Dateiname um die E-Mail Adresse erweitert wird. z.B.: "MailSigHTMLa.mustermann@musterfirma.de.htm". So kann ich dann nachvollziehen, wessen Signatur-Datei dies ist.
Ist das möglich?
Hier der Code:
____________________________________________________________________________
Sub Click(Source As Button)
Dim sess As New NotesSession
Dim clientnab As New notesdatabase("","names.nsf")
Dim thisloc As NotesDocument
Dim wk As New notesuiworkspace
Dim uidoc As NotesUIDocument
'get the Location value from the environment, and use it to get the current location document
location = sess.getenvironmentstring("Location", True)
i = Instr(location,",")
j = Instr(i+1,location,",")
locID = Mid(location,i+1,j-(i+1))
Set thisloc = clientnab.getdocumentbyid(locID)
'check if the location is online - if offline we can't do this
If thisloc Is Nothing Then
Msgbox "Cannot find the location document for the current location (weird, means that your Notes setup is Baaad!)"
Else
If thisloc.locationtype(0) <> "0" Then
Msgbox "Current location is not a LAN connected location; the profile in your local mail file will be updated. Remember to replicate it with the server sometime soon. And note the caveat about Notes data directory locations.",64,"Local Location"
End If
'write the HTML as a file in the Notes data directory
Set uidoc = wk.CurrentDocument
Dim fileNum As Integer
fileNum% = Freefile()
NotesDataDir = sess.getenvironmentstring("Directory", True)
HTMLFile = NotesDataDir & "\MailSigHTML.htm"
Open HTMLFile For Output As fileNum%
Print #fileNum%, Uidoc.fieldgettext("HTMLCreated")
Close #filenum
'go get the mail file and update the profile
Dim maildb As New NotesDatabase("","")
Call maildb.openmail 'should open the mail based on the current location
If maildb.IsOpen Then
Dim profdoc As notesdocument
Set profdoc = maildb.getprofiledocument("CalendarProfile")
If profdoc Is Nothing Then
Msgbox "No Profile Document in your mail database. Create one with Tools/Preferences and then do this action again."
Else
profdoc.enablesignature = "1" 'autosignature
profdoc.signatureoption = "2" 'via HTML file
profdoc.signature_2 = HTMLFile
profdoc.signature = HTMLFile
Call profdoc.save(True, False)
Msgbox "Mail Profile updated to use your new signature file."
End If
Else
Msgbox "Can't open the mailfile specified in your current location - could there be a case sensitivity issue on the filename in your location vs the server?"
End If
End If 'no location
End Sub
____________________________________________________________________________
Ich habe schon versucht den Dateinamen aufzubröseln, aber es funktioniert nicht:
HTMLFile = NotesDataDir & "\" & "MailSigHTML" & email & ".html"
Ich kann mir schon denken warum das nicht funktioniert. Man muss bestimmt das Feld "email" vorher irgendwie definieren und auslesen und etc., aber ich weiß leider nicht wie.
Könntet ihr mir hier helfen?
Gruß,
Andrycha