25. september 2002 - 11:55Der er
7 kommentarer og 1 løsning
tilretining af lotusscript til åbning af fælles mail-in database
jeg er administrator af et domino netværk hvor der via en portal åbnes en mail-in database styret af brugerens tilknyttede OU-niveau. det virker for 2 niveauer, men jeg har nu brug for det 3 OU-niveau. Jeg er ikke lotusscripthaj derfor behøver jeg lidt hjælp. Lotushotspotscriptet er flg:
Sub Click(Source As Button) Dim session As New NotesSession Dim thisdb As NotesDatabase Dim userName As New NotesName(session.UserName) Dim CommonMailName As String Dim workspace As New NotesUIWorkspace
Set thisdb = session.CurrentDatabase
If userName.OrgUnit2 <> "" Then CommonMailName=userName.OrgUnit2 Else Goto ErrorInName End If
If userName.OrgUnit1 <> "" Then CommonMailName=CommonMailName + "_" + userName.OrgUnit1 End If
Tjaee, du kan jo prøve med følgende: Set thisdb = session.CurrentDatabase 'Ny kode start If userName.OrgUnit3 <> "" Then CommonMailName=userName.OrgUnit3 Else Goto ErrorInName End If If userName.OrgUnit2 <> "" Then CommonMailName=CommonMailName + "_" + userName.OrgUnit2 Else Goto ErrorInName End If 'Ny kode slut If userName.OrgUnit1 <> "" Then osv...
Det kræver selvfølgelig, at din navngivning af mailin databaserne følger princippet: Mail-in\Ou3_Ou2_Ou1.nsf, altså som nu bare med en nivesu mere.
Ja indtil nu har alle kun 2 ou, men der skal oprettes underafdelinger, dvs. endnu et ou-niveau. Hvis jeg bruger portalen med det tilrettede script får ou-2 brugerne fejl, - ou-3 testopsætningen smutter lige ind. Men du bør faktisk have mindst 30 p for dit forslag.
Nå.. Du skal bare lave flg. rettelse indtil alle har 3 OU's:
If userName.OrgUnit2 <> "" Then 'NY start If userName.OrgUnit3 <> "" Then CommonMailName=CommonMailName+ "_" + userName.OrgUnit2 Else CommonMailName=userName.OrgUnit2 End If 'NY slut Else Goto ErrorInName End If
Du skal nok få dem men det virker stadig ikke for OU2 accounts, - her er hele scriptet , - hvad er galt?: Sub Click(Source As Button) Dim session As New NotesSession Dim thisdb As NotesDatabase Dim userName As New NotesName(session.UserName) Dim CommonMailName As String Dim workspace As New NotesUIWorkspace
Set thisdb = session.CurrentDatabase
If userName.OrgUnit3 <> "" Then CommonMailName=userName.OrgUnit3 Else Goto ErrorInName End If If userName.OrgUnit2 <> "" Then If userName.OrgUnit3 <> "" Then CommonMailName=CommonMailName+ "_" + userName.OrgUnit2 Else CommonMailName=userName.OrgUnit2 End If
Else Goto ErrorInName End If
If userName.OrgUnit1 <> "" Then CommonMailName=CommonMailName + "_" + userName.OrgUnit1 End If
Jeg tror det er logikken :-(. Her er et bedre forsøg med følgende logik: Er OU3 tom? Ja: Er OU2 er tom? Ja: Fejl. Nej: mailnavn=OU2+OU1 Nej: OU3+OU2+OU1 Slut-færdig!
If userName.OrgUnit3 <> "" Then CommonMailName=userName.OrgUnit3 + "_" + userName.OrgUnit2 + "_" + userName.OrgUnit1 Else If userName.OrgUnit2 <> "" Then CommonMailName=userName.OrgUnit2 + "_" + userName.OrgUnit1 Else Goto ErrorInName End If End If
Smuk enkelt og genialt. Jeg har ændret til 100 p for den kunstneriske kreativitet. Her er hele scriptete hvis andre kan bruge det: Sub Click(Source As Button) Dim session As New NotesSession Dim thisdb As NotesDatabase Dim userName As New NotesName(session.UserName) Dim CommonMailName As String Dim workspace As New NotesUIWorkspace
Set thisdb = session.CurrentDatabase
If userName.OrgUnit3 <> "" Then CommonMailName=userName.OrgUnit3 + "_" + userName.OrgUnit2 + "_" + userName.OrgUnit1 Else If userName.OrgUnit2 <> "" Then CommonMailName=userName.OrgUnit2 + "_" + userName.OrgUnit1 Else Goto ErrorInName End If End If
Exit Sub ErrorInName: Messagebox "Unable to find common mail database", 32, "Information"
End Sub
TAKKER
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.