das Prinzip der Parameterübergabe kenne ich aus Office. Dachte in Notes gebe es nur die Agenten, denen man nur auf Umwegen Parameter übergeben kann.
die Bibliothek enthält folgenden Code:
Deklarationen
'==========================================================
'Allgemein
Dim s As NotesSession
Dim db As NotesDatabase
'Namenstrennung
Dim Zaehler As Integer
'==========================================================
'Benutzerdaten für Funktion "Benutzer_Auslesen"
Public Benutzer_Vorname As String
Public Benutzer_Nachname As String
Public Benutzer_UnterschriftsName As String
Public Benutzer_UnterschriftsZusatz As String
Public Benutzer_Straße As String
Public Benutzer_Ort As String
Public Benutzer_Telefon As String
Public Benutzer_EMail As String
Public Benutzer_Telefax As String
Public Benutzer_Abteilung As String
'==========================================================
'Arbeitnehmerdaten für Funktion "Arbeitnehmer_Auslesen"
Public Arbeitnehmer_Anrede As String
Public Arbeitnehmer_Vorname As String
Public Arbeitnehmer_Nachname As String
Public Arbeitnehmer_Straße As String
Public Arbeitnehmer_Ort As String
Public Arbeitnehmer_Austritt As String
Public Arbeitnehmer_PersNr As String
'==========================================================
Initialize
Set s = New NotesSession
Set db = s.CurrentDatabase
Function Arbeitnehmer_Auslesen(Arbeitnehmer As String)
Dim work As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim view As NotesView
Dim doc As NotesDocument
'Keys auslesen
Set uidoc = work.CurrentDocument
If uidoc.FieldGetText("Mitarbeiter") = "" Then
Msgbox "Es wurde kein/e Mitarbeiter/in ausgewählt!",,"Musterfirma"
Exit Function
End If
'Arbeitnehmername
Zaehler = Instr ( 1,uidoc.FieldGetText("Mitarbeiter") , "," )
Arbeitnehmer_Vorname = Right$(uidoc.FieldGetText("Mitarbeiter"),Lenc(uidoc.FieldGetText("Mitarbeiter")) - Zaehler -1)
Arbeitnehmer_Nachname= Left$(uidoc.FieldGetText("Mitarbeiter"),Zaehler - 1)
'Anschrift
Set view = db.GetView("Personal - " & uidoc.FieldGetText("Bereich"))
Set doc = view.GetFirstDocument
For i = 1 To view.AllEntries.Count
If Arbeitnehmer_Vorname = doc.Vorname(0) Then
If Arbeitnehmer_Nachname = doc.Nachname(0) Then
Arbeitnehmer_Anrede = doc.Anrede(0)
Arbeitnehmer_Straße = doc.Straße(0)
Arbeitnehmer_Ort = doc.PLZ(0) & " " & doc.Ort(0)
Arbeitnehmer_PersNr = doc.PersNr(0)
Arbeitnehmer_Austritt = doc.Austritt(0)
Exit For
End If
End If
Set doc = view.GetNextDocument(doc)
Next i
End Function
Function Benutzer_Auslesen(Benutzername As String)
'===============================================================================
'Dieser Code liest die Benutzerdaten aus seinem Personendokument im NAB
'und speichert diese in globalen Variablen, die in Prozeduren zur Schriftverkehrerstellung
'benötigt werden.
'===============================================================================
'Allgemein
Dim Quelldb As NotesDatabase
Dim Quellview As NotesView
Dim Quelldoc As NotesDocument
'===============================================================================
'Vorbereitungen
Set Quelldb = s.GetDatabase("Server","names.nsf")
Set Quellview = Quelldb.GetView("_Personen")
Set Quelldoc = Quellview.GetFirstDocument
'Benutzername
Zaehler = Instr(Benutzername," ")
Benutzer_Vorname = Mid(Benutzername,4,Zaehler - 4)
Zaehler = Instr(Benutzername,"/") - Zaehler - 1
Benutzer_Nachname = Mid(Benutzername,Len(Benutzer_Vorname)+5,Zaehler)
'alle weiteren Benutzerdaten
For i = 1 To Quellview.AllEntries.Count
If Quelldoc.Firstname(0) = Benutzer_Vorname Then
If Quelldoc.LastName(0) = Benutzer_Nachname Then
Benutzer_Straße = Quelldoc.OfficeStreetaddress(0)
Benutzer_Ort = Quelldoc.OfficeZIP(0) & " " & Quelldoc.OfficeCity(0)
Benutzer_Telefon = quelldoc.OfficePhoneNumber(0)
Benutzer_Telefax = quelldoc.OfficeFAXPhoneNumber(0)
Benutzer_Email = quelldoc.InternetAddress(0)
Benutzer_Abteilung = quelldoc.Department(0)
Benutzer_Unterschriftsname = quelldoc.AltFullNameSort(0)
Benutzer_UnterschriftsZusatz = quelldoc.JobTitle(0)
Exit For
End If
End If
Set Quelldoc = Quellview.GetNextDocument(Quelldoc)
Next i
End Function
so untereinander weggeschrieben wird das ganze unübersichtlich finde ich. Zumal es ja sicher nicht weniger Funktionen werden.
Gruß
Demian
PS: Mit dem Thema Telefon und Telefax muss ich mich noch auseinandersetzen, was das Trennen angeht.