Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: tttonic am 14.03.05 - 09:52:32
-
Hi,
probiere gerade ein Script zu schaffen welches mir einen LDAP - Account im lokalen Adressbuch schafft.
Dieses soll per Mail verteilt werden. Habe im Forum schon einiges gefunden leider nur auf Locations. Nur leider wird nicht erstellt und es gibt auch keine Fehlermeldung.
Wäre für einen Tipp dankbar.
gruß
tttonic
Sub Click(Source As Button)
Set session = New NotesSession
Set dbCurrent = session.CurrentDatabase
'Create connection documents in the user's personal addressbook
Dim db As New NotesDatabase("" , "names.nsf")
Dim view As NotesView
Dim doc As NotesDocument
Dim success As Variant
Dim connect As NotesDocument
Dim State As Integer
State = 0
Set view = db.GetView("($Accounts)")
Set doc = view.GetFirstDocument
Set connect = db.CreateDocument
connect.AccountName = "LDAP"
connect.AccountServer = "LDAP.COM"
connect.AccountProtocol = "LDAP"
connect.LDAPSearchBase = "o=LDAP"
success = connect.ComputeWithForm( False, False)
Call connect.Save(True,True)
State = State + 1
End Sub
-
Sind alle Felder korrekt gesetzt? evtl. das Form property setzen....
-
Sind alle Felder korrekt gesetzt? evtl. das Form property setzen....
Ich weiß das er bis zur Ansicht Accouts alles funzt.
Nur danach bin ich mir nicht sicher.
-
Hi,
nun legt das Script mir den Account zwar an, leider muss ich es nochmals öffnen und erneut speichern damit es richtig funktioniert und stehe gerad auf dem Schlauch.
Sub Click(Source As Button)
Set session = New NotesSession
Set dbCurrent = session.CurrentDatabase
'Create connection documents in the user's personal addressbook
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim db As New NotesDatabase("" , "names.nsf")
Dim view As NotesView
Dim doc As NotesDocument
Dim success As Variant
Dim connect As NotesDocument
Dim State As Integer
State = 0
Set view = db.GetView("Accounts")
Set doc = view.GetFirstDocument
Set connect = db.CreateDocument
connect.form="Account"
connect.type = "Account"
connect.accountname = "LDAP"
connect.AccountServer="LDAP"
connect.LDAPSearchBase = "o=LDAP"
connect.AccountLoginName=""
connect.AccountPassword=""
connect.AccountProtocol="LDAP"
connect.SSLStatus=0
success = connect.ComputeWithForm( False, False)
Call connect.Save(True,True)
State = State + 1
End Sub
-
da es sich um eine lokale DB handelt könnte es auch an den Ansichtsindexen liegen.
Dann würde es reichen die Ansichten einmal als Objet zuzuweisen.
-
Oder Du öffnest das Dokument kurz im UI, refresh und speichern....
gruss umi
-
Oder Du öffnest das Dokument kurz im UI, refresh und speichern....
gruss umi
Yo stimmt,
und genau das öffnen bereitet mir gerade Kopfschmerzen.
-
set uidocument = uiworkspace.editDocument(true,connect,false,,true)
call uidocument.refresh(true)
call uidocument.save()
call uidocument.close()
-
Oder Du öffnest das Dokument kurz im UI, refresh und speichern....
gruss umi
Yo stimmt,
und genau das öffnen bereitet mir gerade Kopfschmerzen.
Irgendwie will es nicht.
Sub Click(Source As Button)
Set session = New NotesSession
Set dbCurrent = session.CurrentDatabase
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim db As New NotesDatabase("" , "names.nsf")
Dim view As NotesView
Dim doc As NotesDocument
Dim success As Variant
Dim connect As NotesDocument
Dim State As Integer
Dim uidocument As NotesUIDocument
State = 0
Set view = db.GetView("Accounts")
Set doc = view.GetFirstDocument
Set connect = db.CreateDocument
connect.form="Account"
connect.type = "Account"
connect.accountname = "LDAP"
connect.AccountServer="LDAP.com"
connect.LDAPSearchBase = "o=LDAP"
connect.AccountLoginName=""
connect.AccountPassword=""
connect.AccountProtocol="LDAP"
connect.SSLStatus=0
connect.AccountLoginName=""
connect.AccountPassword=""
connect.SSLStatus=0
connect.AccountFilename="LDAP"
connect.LDAPCheckNames=0
connect.LDAPSimpleSearch=""
connect.AccountPortNumber="389"
success = connect.ComputeWithForm( False, True)
Call connect.Save(True,True)
Set uidocument = uiworkspace.editDocument(True,connect,False,,True)
Call uidocument.refresh(True)
Call uidocument.save()
Call uidocument.close()
State = State + 1
End Sub
Fehler: Variant does not contain an object.
Klar der Inhalt der Variablen ist falsch, aber nu?
-
In Welcher Zeile tritt den der Fehler auf?
-
In Welcher Zeile tritt den der Fehler auf?
Verzeihung.
Set uidocument = uiworkspace.editDocument(True,connect,False,,True)
Call uidocument.refresh(True)
-
Kann es sein das uiworkspace nicht definiert ist? Du dimmst ja workspace
-
Kann es sein das uiworkspace nicht definiert ist? Du dimmst ja workspace
Aaaah, hast Recht gehabt. Dämmlicher Fehler.
Danke ;)
-
Nur nen Tipp : Mit Option Declare wäre das nicht passiert.
-
Nur nen Tipp : Mit Option Declare wäre das nicht passiert.
Yo stimmt.
Das kommt halt davon wenn man eigentlich kein Programmierer ist sonder Admin und in Script nur Grundkenntnisse hat. Da vergißt man halt schnell diese einfachen Dinge.