Erstellen von Verbindungsdokumenten mit LotusScript
madicon.de/Tipps & Tricks/Erstellen von Verbindungsdokumenten mit LotusScript

Erstellen von Verbindungsdokumenten mit LotusScript

Sie möchten Ihren Anwendern einen Hotspot-Button per E-Mail zusenden, mit dem im lokalen Adressbuch ein Verbindungsdokument (Connection Document) erstellt oder aktualisiert wird. Wie lässt sich dies mit LotusScript umsetzen?
 
Aus der Lotus Support Services Technote #1110951:

Problem


Sie möchten Ihren Anwendern einen Hotspot-Button per E-Mail zusenden, mit dem im lokalen Adressbuch ein Verbindungsdokument erstellt oder aktualisiert wird. Wie lässt sich dies mit LotusScript umsetzen?
 

Lösung


Sie können eine der beiden nachfolgenden LotusScript-Methoden verwenden, um im lokalen Adressbuch eines Anwenders ein Verbindungsdokument zu erstellen oder zu aktualisieren. Die erste Methode eignet sich, wenn ein Verbindungsdokument ohne Einschränkungen bezüglich der Nutzung erstellt werden soll. Die zweite Methode zeigt ein Beispiel, in dem Sie bestimmte Feldwerte gezielt setzen können.
 

LotusScript mit der Funktion zur automatischen Erzeugung verwenden

Eine der Neuerungen, die mit dem R5 Client eingeführt wurden, ist die automatische Erzeugung von Verbindungsdokumenten, sobald Sie im Dialog „Datenbank öffnen“ den Hostnamen (oder die IP-Adresse) eines Domino-Servers eingeben. Notes erstellt das Verbindungsdokument mit dem vollständig hierarchischen Servernamen im Feld „Servername:“ und dem Hostnamen im Feld „Zieladresse des Servers:“. Die Felder „Für Benutzer“ und „Gilt für Standort(e)“ werden mit einem Stern (*) gefüllt.
Während LotusScript problemlos selbst ein Verbindungsdokument im persönlichen Adressbuch eines Anwenders erstellen und befüllen könnte, können Sie stattdessen die oben beschriebene Funktionalität nutzen, um ein Verbindungsdokument ohne umfangreichen Code anzulegen. In den folgenden Beispielen steht „x.x.x.x“ für den Hostnamen oder die IP-Adresse. Dieser Wert wird im LotusScript in Anführungszeichen eingefasst.
Wenn Sie gleichzeitig eine bestimmte Datenbank öffnen und das Verbindungsdokument erzeugen möchten, können Sie die Methode OpenDatabase (der Klasse NotesUIWorkspace) wie folgt verwenden:
Dim ws As New NotesUIWorkspace Call ws.OpenDatabase("x.x.x.x","dbname.nsf")
Wenn Sie das Verbindungsdokument anlegen und lediglich das Symbol der Datenbank zum Arbeitsbereich hinzufügen möchten, können Sie die Methode AddDatabase (der Klasse NotesUIWorkspace) wie folgt verwenden:
Dim ws As New NotesUIWorkspace Call ws.adddatabase("x.x.x.x","dbname.nsf")
Wenn Sie lediglich das Verbindungsdokument anlegen möchten, kann die New-Methode (der Klasse NotesDatabase) verwendet werden:
Dim db As New NotesDatabase("x.x.x.x", "names")
Wenn Sie den Code per Button in einer E-Mail an Ihre Anwender versenden möchten, platzieren Sie ihn im Click-Ereignis.
 

LotusScript zum Setzen bestimmter Felder in einem Verbindungsdokument verwenden

Das folgende Beispiel ähnelt dem vorherigen und verwendet die Logik, die Sie in Notes-Versionen vor 5.0 für diese Aufgabe einsetzen mussten. Sie können diese Methode nutzen, wenn Sie zusätzliche Feldwerte im Verbindungsdokument setzen möchten. Wenn Sie beispielsweise festlegen möchten, dass die Verbindung nur bei Verwendung bestimmter Standortdokumente genutzt wird, setzen Sie den Wert des Feldes ConnectionLocation. Wie oben können Sie diesen Code im Click-Ereignis eines Hotspot-Buttons innerhalb einer E-Mail an alle Anwender senden, die das aktualisierte oder neue Verbindungsdokument benötigen.
Sub Click(Source As Button) Dim Workspace As New NotesUIWorkspace Dim UIDdoc As NotesUIDocument Set uidoc = workspace.composedocument("","names.nsf","Connection") Call uidoc.fieldsettext("ConnectionType","Local Area Network") Call uidoc.refreshhideformulas Call uidoc.fieldsettext("PortName","TCPIP") Call uidoc.fieldsettext("LanPortName","TCPIP") ' Die Methode FieldSetText kann hier verwendet werden, um die Werte weiterer Felder zu setzen. ' Das folgende Beispiel erlaubt z. B., dass die Verbindung nur verwendet wird, ' wenn entweder das Standortdokument OfficeA oder OfficeB aktiv ist. Call uidoc.fieldsettext("ConnectionLocation","OfficeA, OfficeB") Call uidoc.refreshhideformulas Call uidoc.fieldsettext("Destination","Server/Organization") Call uidoc.fieldsettext("OptionalNetworkAddress","x.x.x.x") Call uidoc.fieldsettext("Source","*") Call uidoc.refresh Call uidoc.save Call uidoc.close End Sub
 

Amazon Affiliate Link
notion image