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 -----------