| Sub Click(Source As Button) |
| Dim oSession As New NotesSession |
| Dim oDb As NotesDatabase |
| Dim oUiWs As New NotesUiWorkspace |
| Dim sDb() As String ' String-Array für die div. Datenbanken |
| Dim sServer As String ' String für den Server |
| Dim iCount As Integer ' Integer zum counten in der Forall-Loop |
| Dim iArray As Integer ' Integer für die Größe des Array |
| Dim oReg As New NotesRegistration |
| Dim db As NotesDatabase |
| Dim sUser As String |
| Dim sMailServer As String |
| Dim sUsersServerChoice As String |
| |
| Const VBMADMINDB$ = "ADMIN\ADMIN.NSF" 'Pfad und Filename der ADMIN-Datenbank |
| |
| Set db =oSession.CurrentDatabase |
| sServer = db.server |
| Set oSession = New NotesSession |
| Set oUiWs = New NotesUiWorkspace |
| |
| oReg.RegistrationServer = sServer |
| sUser = oSession.Username |
| |
| Call oReg.getUserInfo(sUser,sMailServer) |
| |
| Dim cMailServer As New NotesName(sMailServer) |
| |
| '*************************************************************************** |
| 'User nach dem Server fragen / Hierbei wird als Default sein Mail-Server angeboten |
| '*************************************************************************** |
| |
| sUsersServerChoice = Inputbox$ ("Bitte wählen Sie den Server Ihrer Fililale:", _ |
| "Server", cMailServer.common) |
| If sUsersServerChoice = "" Then Exit Sub 'Klickt der Nutzer auf Cancel wird die Funktion sofort verlassen |
| |
| '*************************************************************************** |
| 'NOTES.INI Einträge setzen |
| '*************************************************************************** |
| |
| Call oSession.SetEnvironmentVar("AdminPfad",sUsersServerChoice+"!!"+VBMADMINDB,False) |
| |
| '******************************************************************************* |
| 'Prüfen, ob NOTES.INI Einträge korrekt gesetzt |
| '******************************************************************************* |
| iEnvironmentValidation = 1 'Validierungs-Variable initialisieren |
| If Not oSession.GetEnvironmentString("AdminPfad",False) = sUsersServerChoice+"!!"+VBMADMINDB Then iEnvironmentValidation = 0 |
| |
| 'Wenn NOTES.INI Einträge nicht so ausgelesen werden, wie sie eigentlich geschrieben wurden: Abbrechen + Fehlermeldung |
| If Not iEnvironmentValidation = 1 Then |
| errormessage = |Die benötigten Einträge in der Datei NOTES.INI Ihres Clients konnten nicht korrekt gesetzt werden. |
| Bitte versuchen Sie erneut. Sollten Sie diese Fehlermeldung wieder auftreten, informieren Sie Ihren System-Administrator.| |
| Messagebox errormessage,16,"Admin-Pfad in der NOTES.INI falsch." |
| Exit Sub |
| Else |
| Print "Notes.ini Ihres Client wurde erfolgreich angepaßt." |
| End If |
| |
| '*************************************************************************** |
| 'Datenbanken hinzufügen |
| '*************************************************************************** |
| |
| ' In diesem Fall bietet sich kein Resume an, sondern hier sollte bei einem Fehlerfall zu einer Sprungmarke gewechselt werden. |
| On Error Goto ErrorHandling |
| |
| ' Und hier beginnen die Array-assignments für die Datenbanken |
| Redim sDb(25) ' Hier wird die Größe des Array fest definiert (Anzahl der DB - 1) |
| sDb(0) = "db1.nsf" |
| (...) |
| sDb(25) = "db2.nsf" |
| |
| ' Wieviel Elemente hat der Array - 1 (da ein Array immer mit 0 beginnt muss hier 1 subtrahiert werden) |
| iArray = Ubound(sDb())-1 |
| |
| ' So jetzt beginnen wir die Schleife |
| For iCount = 0 To iArray |
| ' Wenn jetzt der Fehler aufläuft, dann wird in der Sprungmarke weitergemacht. |
| Set oDb = oSession.getDatabase(sMailServer,sDb(iCount)) |
| ' Wenn die DB noch nicht offen ist => Öffnen |
| If oDb.isopen=False Then |
| Call oDb.open("","") |
| Else |
| ' Super, die DB ist offen => dann fügen wir die Db dem Workspace hinzu... |
| Call oUiWs.addDatabase(sMailServer,sDb(iCount)) |
| Print (oDb.title+" wurde Ihrer Arbeitsoberfläche hinzugefügt.") |
| End If |
| |
| |
| ErrorHandling: |
| ' Der Trick ist die Nutzung der Sprungmarke. Wenn die DB nicht geöffnet werden darf, dann wird hierhin verzweigt. |
| ' Somit wird die Schleife nicht verlassen und der Array hochgecountet. |
| iCount = iCount + 1 |
| ' Resume |
| Next |
| |
| Print ("Die Datenbanken wurden erfolgreich hinzugefügt.") |
| ' Msgbox "Ihr Client wurde erfolgreich konfiguriert!",64,"Konfiguration erfolgreich" |
| |
| End Sub |
| |