· 

Lotus Notes Support für SecureContact Pro

Ein Leser dieses Blogs war so nett und hat uns ein LotusScript zur Verfügung gestellt. Dieses soll den Export von Kontakten, aus Lotus Notes, im VCard-Format ermöglichen. 

 

Lotus Notes bietet zwar die Möglichkeit, dies über das Menü Datei-Export zu tun, dieses Script erlaubt es jedoch dies als LotusScript-Agent durchzuführen. Der Vorteil: der LotusScript-Agent läuft auf ausgewählten Dokumenten in einer beliebigen Datenbank um die VCard Dateien zu erzeugen. 

 

Der Agent erwartet, dass die Namen der Felder in den Dokumenten mit denen im Formular "Person" des Adressbuchs übereinstimmen. Denken Sie daran die Zieldatei (export.vcf) anzupassen.

 

Es versteht sich von selbst, das wir keine Garantie, Gewährleistung oder Support zu dem zur Verfügung gestellten LotusScript geben können. Anwendung auf eigene Gefahr / Gewähr.

 

VCard Dateien lassen sich direkt in SecureContact importieren. Wenn Sie dies regelmäßig automatisiert wünschen, können Sie sich mit der SecureToolbox einen entsprechenden Batch-Betrieb aufsetzen. Sprechen Sie uns an.

'------------- AGENT START -----------

Sub Initialize

Dim session As New NotesSession

Dim nabdb As NotesDatabase

Dim nabdoc As NotesDocument

Dim nabcoll As NotesDocumentCollection

Dim vcardfile As String

Dim result As String

Dim linebreak As String

Dim fileNum As Integer

 

linebreak=Chr(13)+Chr(10)

vcardfile="c:\export.vcf"

 

Set nabdb=session.CurrentDatabase

Set nabcoll=nabdb.UnprocessedDocuments

Print "Exporting"+Cstr(nabcoll.Count)+" documents to VCard "+vcardfile

 

If nabcoll.Count=0 Then Exit Sub

 

fileNum% = Freefile()

Open vcardfile For Output As #fileNum%

 

Set nabdoc=nabcoll.GetFirstDocument

While Not nabdoc Is Nothing

 

result="BEGIN:VCARD"+linebreak+ "VERSION:2.1"

 

result=result+linebreak+ "N:"+nabdoc.LastName(0)+";"+nabdoc.FirstName(0)+";"+nabdoc.MiddleInitial(0)+";"+nabdoc.Title(0)

If nabdoc.MiddleName(0)="" Then 

FullName=nabdoc.FirstName(0)+" "+nabdoc.LastName(0)

Else

FullName=nabdoc.FirstName(0)+" "+nabdoc.MiddleName(0)+" "+nabdoc.LastName(0)

End If

result=result+linebreak+"FN:"+FullName

' result=result+linebreak+"NICKNAME:"+FullName

result=result+linebreak+"ORG:"+nabdoc.CompanyName(0)+";"+nabdoc.Department(0)

result=result+linebreak+"TITLE:"+nabdoc.JobTitle(0)

result=result+linebreak+"NOTE:"+nabdoc.Comment(0)

result=result+linebreak+"TEL;WORK;VOICE:"+nabdoc.OfficePhoneNumber(0)

result=result+linebreak+"TEL;HOME;VOICE:"+nabdoc.PhoneNumber(0)

result=result+linebreak+"TEL;CELL;VOICE:"+nabdoc.CellPhoneNumber(0)

result=result+linebreak+"TEL;WORK;FAX:"+nabdoc.OfficeFaxPhoneNumber(0)

result=result+linebreak+"TEL;HOME;FAX:"+nabdoc.HomeFAXPhoneNumber(0)

result=result+linebreak+"ADR;WORK:;"+nabdoc.OfficeCity(0)+";"+replaceLineBreak(nabdoc.OfficeStreetAddress(0))+";"+nabdoc.OfficeCity(0)+";"+nabdoc.OfficeState(0)+";"+nabdoc.OfficeZIP(0)+";"+nabdoc.OfficeCountry(0)

result=result+linebreak+"ADR;HOME:;;"+replaceLineBreak(nabdoc.StreetAddress(0))+";"+nabdoc.City(0)+";"+nabdoc.State(0)+";"+nabdoc.Zip(0)+";"+nabdoc.Country(0)

' result=result+linebreak+"URL;WORK:"+nabdoc.WebSite(0)

result=result+linebreak+"URL;HOME:"+nabdoc.WebSite(0)

result=result+linebreak+"PREF;INTERNET:"+nabdoc.InternetAddress(0)

result=result+linebreak+"EMAIL;INTERNET:"+nabdoc.MailAddress(0)

 

result=result+linebreak+"END:VCARD"

 

Print #fileNum%, result

 

Set nabdoc=nabcoll.GetNextDocument(nabdoc)

Wend

 

Close #fileNum%

 

End Sub

Function replaceLineBreak(oldString)

replaceFrom=Chr(13)+Chr(10)

replaceTo=", "

tmpString = Evaluate(|@ReplaceSubstring("| + oldString + |"; "|+replaceFrom+|"; "|+replaceTo+|")|)

replaceLineBreak=tmpString(0)

End Function

'------------- AGENT END -----------