Hi,
wie kann ich ein Dokument mittels LotusScript öffnen (z.B. Button in einer Maske soll ein anderes Dok öffnen)? So etwas wie ThisDoc.Open gibt´s leider nicht und in der Hilfe bin ich auch auf nichts in dieser Hinsicht gestossen...
Grüsse
Hi,
wie kann ich ein Dokument mittels LotusScript öffnen (z.B. Button in einer Maske soll ein anderes Dok öffnen)? So etwas wie ThisDoc.Open gibt´s leider nicht und in der Hilfe bin ich auch auf nichts in dieser Hinsicht gestossen...
Grüsse
Die Methode NotesUIWorkspace.EditDocument kann das.
Anhand der Parameter kannst du zusätzlich bestimmen welches Dokument und ob Lesen/Bearbeiten, neues Fenster usw.
Sind viele Beispiele dazu in der Hilfe.
Ein anderes Dok kannste mit Script ueber die Eigenschaft Dialogbox der Notesuiworkspace - Klasse machen
Hi vielleicht könntet ihr kurz meinen Code ansehen...
Sub Click(Source As Button)
Dim ws As New NotesUIWorkspace
Dim dbSCC As New notesdatabase("BOEDOM1","ide\security\SecComCh.nsf")
Dim viewSCC As NotesView
Dim machinedoc As NotesDocument
Set viewSCC = dbSCC.getview("User\Host name")
Set machinedoc = viewSCC.GetFirstDocument
Call ws.EditDocument (False, doc)
End Sub
Wenn ich den Code so stehen habe kommt die obige Fehlermeldung. Gehe ich richtig in der Annahme, dass er keine Dokumente in dem View findet, oder habe ich sonst irgendeinen Fehler drin?
Du hast vergessen die DB zu öffnen. Das würde u.a. so gehen:
Sub Click(Source As Button)
Dim ws As New NotesUIWorkspace
Dim dbSCC As New notesdatabase("BOEDOM1","ide\security\SecComCh.nsf")
Dim viewSCC As NotesView
Dim machinedoc As NotesDocument
call dbSCC.open("","")
Set viewSCC = dbSCC.getview("User\Host name")
Set machinedoc = viewSCC.GetFirstDocument
Call ws.EditDocument (False, doc)
End Sub
Desweiteren empfehle ich dir bei Ansichten mit Alias-Bezeichnern zu arbeiten. Ansonsten hast du ggf. irgendwann das Problem daß ein User meint die Ansicht müsse doch ganz anders heißen und schon funktioniert das Script nicht mehr.
dabei habe ich die Datenbank eigentlich nicht offen...
Dann änder das Script nochmal so daß geprüft wird ob die DB bereits geöffnet ist. Außerdem hat deine vorletzte Zeile einen Fehler, du willst doc öffnen hast aber das Dokument in der variable machinedoc. Sollte eigentlich auch ne entsprechende Fehlermeldung kommen...!
Sub Click(Source As Button)
Dim ws As New NotesUIWorkspace
Dim dbSCC As New notesdatabase("BOEDOM1","ide\security\SecComCh.nsf")
Dim viewSCC As NotesView
Dim machinedoc As NotesDocument
If Not (dbSCC.IsOpen) Then
call dbSCC.open("","")
End If
Set viewSCC = dbSCC.getview("User\Host name")
Set machinedoc = viewSCC.GetFirstDocument
Call ws.EditDocument (False, machinedoc)
End Sub
Danke, jetzt gehts´ wie geplant!
Die Zeilen zum Oeffnen der DB erscheinen mir unsinnig.
Wenn ich ein Datenbankobjekt erzeuge und die Datenbank existiert, dann ist die DB open. (mit Dim dbSCC As New notesdatabase("BOEDOM1","ide\security\SecComCh.nsf")
Wenn sie danach nicht open ist, wird auch ein db.open sie nicht oeffnen, soweit ich weiss.
Man koennte hoechstens abbrechen, wenn db.isopen fasle liefern wuerde, damit keine Fehlermeldung bei
Set viewSCC = dbSCC.getview("User\Host name")
aufkommt.