Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Wiesel am 24.10.06 - 14:32:20

Titel: Script zum Drucken
Beitrag von: Wiesel am 24.10.06 - 14:32:20
Hallo!

Ich möchte aus der Ansicht heraus ein markiertes Dokument drucken.
Das Dokument soll aber vorab eine andere Maske zugeordnet bekommen (Druckmaske) und in dieser Druckmaske wird noch ein Feld gefüllt.

Ich bekomme nun leider eine Fehlermeldung.

Hier erstmal der Script:

Sub Click(Source As Button)
   Dim workspace As NotesUIWorkspace
   Dim db As NotesDatabase
   Dim session As New NotesSession
   Dim uidoc As NotesUIDocument
   Dim doc As NotesDocument
         
   Set db = session.CurrentDatabase
   Set doc = session.DocumentContext
   
   If doc.form(0) = "Protokoll" Then
      doc.form = "(DruckProtokoll)"
            
      doc.txtBeschlussv = "Test"
      
      Set uidoc = workspace.EditDocument(False,doc)
      Call uidoc.Print(1,1)
      
      doc.form = "Protokoll"   
      doc.txtBeschlussv = ""
   End If   
   
   Call doc.save(True,True)
   Call uidoc.Close
   
End Sub


In der Zeile "Set uidoc = workspace.EditDocument(False,doc)" kommt die Fehlermeldung "Object variable not set".

Nachdem was ich so in den Hilfen nachlesen konnte, finde ich keinen Fehler im Script.
Was ist falsch?

Danke und Gruß,
Wiesel
Titel: Re: Script zum Drucken
Beitrag von: Ayhan am 24.10.06 - 14:37:26
Hi,

probier statt:
Dim workspace As NotesUIWorkspace

folgendes:
Dim workspace As New NotesUIWorkspace
Titel: Re: Script zum Drucken
Beitrag von: MadMetzger am 24.10.06 - 14:38:25
Deine Variable workspace wird nicht initialisiert. Entweder du änderst die Dim-Anweisung zu
Code
Dim workspace as new NotesUiWorkspace
oder du schreibst später vor deinem Aufruf
Code
set workspace = new NotesUiWorkspace

Danach sollte dein Script so durchlaufen.

EDIT: Ayhan war schneller, aber es gibt zwei mögliche Lösungen.
Titel: Re: Script zum Drucken
Beitrag von: Wiesel am 24.10.06 - 14:42:00
Super, das klappt.
Die kleinen aber feinen Unterschiede.

Wann benutzt man denn
Dim workspace as NotesUIWorkspace
und wann benutzte man
Dim workspace as New NoteUIWorkspace?

Titel: Re: Script zum Drucken
Beitrag von: Thomas Schulte am 24.10.06 - 14:53:51
Wenn du das in den Globals deklarierst, dann das erste sonst das zweite
Titel: Re: Script zum Drucken
Beitrag von: koehlerbv am 24.10.06 - 18:02:42
Ich bekomme nun leider eine Fehlermeldung.

Sowas postet man nicht, das ist unwürdig!
1. Genaue Fehlermeldung posten - sonst sind Antwortwillige gezwungen, den Code durchzugehen und darauf zu prüfen, wo denn ÜBERHAUPT Fehler entstehen könnten!
2. Was sagte der Debugger über die Zeilennnummer?
3. Warum gibt es in Deinem Code keinen ErrorHandler, der (auch) die Fehlernummer ausgibt?

Bernhard
Titel: Re: Script zum Drucken
Beitrag von: MadMetzger am 24.10.06 - 20:02:21
Ganz kann ich dir nicht recht geben, Bernhard, denn sie nennt doch die Fehlermeldung noch:
In der Zeile "Set uidoc = workspace.EditDocument(False,doc)" kommt die Fehlermeldung "Object variable not set".
Titel: Re: Script zum Drucken
Beitrag von: koehlerbv am 24.10.06 - 20:12:27
Man sollte genau lesen. Ich entschuldige mich hiermit ausdrücklich und ernsthaft beim Wiesel. Ich habe - unentschuldbar! - diese Zeile überlesen.

Bleibt also nur Punkt 3. Und das jetzt nur als sehr, sehr ernstgemeinter Tip:
Schreibe nie eine Zeile LotusScript ohne Option Declare (trifft nicht auf dieses Posting zu). Schreibe nie eine Zeile LotusScript ohne ErrorHandler (und der sollte eine standardisierte Routine aufrufen - so machbar). Die wenigen Zeilen, die man heute hat, sind erfahrungsgemäss in wenigen Monaten auf 50 oder mehr angewachsen (zumindest, wenn es dann "knallt" ;-))  Das ist wirklich nur scheinbarer Aufwand.

Nochmals: Wiesel, entschuldige bitte die unberechtigten Vorwürfe.

Bernhard

PS: @MadMetzger: Dir auch recht herzlichen Dank für diesen wichtigen Hinweis!
PPS: Wiesel ist nicht "er"  ;) Und das ist gut so. Wiesel, bleib uns erhalten, auch wenn ich da so danebengehauen habe ...
Titel: Re: Script zum Drucken
Beitrag von: MadMetzger am 24.10.06 - 20:17:33
Oh, mein Fehler... Man sollte doch genau hinschauen, wie Bernhard eben richtig bemerkt hat...
Titel: Re: Script zum Drucken
Beitrag von: koehlerbv am 24.10.06 - 20:22:53
Nein, nein - das war eine Nebensache. Wobei Frauen keine "Nebensache" sind ... Aber das ist jetzt bezüglich des Threads off-topic ...

Bernhard