Autor Thema: Script zum Drucken  (Gelesen 2085 mal)

Offline Wiesel

  • Aktives Mitglied
  • ***
  • Beiträge: 188
  • Geschlecht: Weiblich
Script zum Drucken
« 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

Offline Ayhan

  • Aktives Mitglied
  • ***
  • Beiträge: 102
  • Geschlecht: Männlich
  • Geht immer!
    • fabrique d' images ebusiness GmbH
Re: Script zum Drucken
« Antwort #1 am: 24.10.06 - 14:37:26 »
Hi,

probier statt:
Dim workspace As NotesUIWorkspace

folgendes:
Dim workspace As New NotesUIWorkspace
Ayhan

Offline MadMetzger

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.052
  • Geschlecht: Männlich
  • f.k.a. Alexis Pyromanis
Re: Script zum Drucken
« Antwort #2 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.

Offline Wiesel

  • Aktives Mitglied
  • ***
  • Beiträge: 188
  • Geschlecht: Weiblich
Re: Script zum Drucken
« Antwort #3 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?


Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Script zum Drucken
« Antwort #4 am: 24.10.06 - 14:53:51 »
Wenn du das in den Globals deklarierst, dann das erste sonst das zweite
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Script zum Drucken
« Antwort #5 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

Offline MadMetzger

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.052
  • Geschlecht: Männlich
  • f.k.a. Alexis Pyromanis
Re: Script zum Drucken
« Antwort #6 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".
« Letzte Änderung: 24.10.06 - 20:18:39 von MadMetzger »

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Script zum Drucken
« Antwort #7 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 ...

Offline MadMetzger

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.052
  • Geschlecht: Männlich
  • f.k.a. Alexis Pyromanis
Re: Script zum Drucken
« Antwort #8 am: 24.10.06 - 20:17:33 »
Oh, mein Fehler... Man sollte doch genau hinschauen, wie Bernhard eben richtig bemerkt hat...

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Script zum Drucken
« Antwort #9 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

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz