Domino 9 und frühere Versionen > ND8: Entwicklung
verschiedene Drucker mehrfach auswählen
Peter Klett:
Du hast doch ein Script, dass den Agenten aufruft. Wenn Du in dem Script eine Sub erstellst, die das ausführt, was heute der Agent macht, kannst Du dort EKopie und BKopie als Parameter übergeben. Den Agenten brauchst Du dann nicht mehr.
Wenn Du allerdings noch den Formelaufruf verwendest, kannst Du EKopie und BKopie temporär in das Dokument schreiben und vom Agenten auslesen. Da Du das Dokument sowieso änderst (Kopie oder beglaubigte Kopie), sollte das kein Problem darstellen. Am Ende solltest Du die Felder aber wieder entfernen.
Alexander W:
Also der Agent wird aus einer Formel auffgerufen, die variablen BKopie und EKopie aber immer im Dokument gespeichert. Deine Idee ist deshalb sehr gut und ich wollte das jetzt umsetzetn. Alllerdings kommt immer nur eine Kopie aus dem Drucker. Ich habe hier als Beispiel EKopie auf 2 im Dokument gesetzt und dann folgendes Skript im Agenten:
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim Anzahl As String
Dim Anzahl1 As Integer
Set uidoc = workspace.CurrentDocument
Anzahl = uidoc.FieldGetText ( "EKopie" )
Anzahl1 = Val ( Anzahl )
Call uidoc.Print( Anzahl1 , 0, 0, False, "FreePDF" )
Irgendwas scheint falsch zu sein. Aber im Gegensatz zum Formelbefehl brauche ich im Skript angeblich nach der Hilfe eine Integervariable für die Anzahl der Kopien beim Drucken. Vielleicht kann mir jemand auf die Sprünge helfen.
Vielen Dank
Peter Klett:
Val übersetzt in ein Double, probier doch mal Cint (Anzahl).
Zur Fehlersuche würde ich sonst einmal hart 2 eintragen und prüfen, ob 2 mal gedruckt wird.
Alexander W:
Vielen Dank für die Hinweise, inzwischen funktioniert auch dies.
Interessant ist, dass beim Drucken auf einen echten Drucker die Kopienanzahl erkannt wird, beim Drucken in eine PDF-Datei (siehe mein Code oben) der Parameter aber ignoriert wird. Aber da braucht man ja auch meist nur eine einzige Kopie.
Nochmal vielen Dank
Alexander W.
S2000:
Hallo,
also das setzten des Standard-druckers geht bei mir über WSH (somit auf windowsclients beschränkt).
Set WshNetwork = CreateObject("WScript.Network")
WshNetwork.SetDefaultPrinter Cstr("Druckerbezeichner"))
Die liste der möglichen Drucker kann ebenso mit der Methode ausgelesen werden.
Gruß
Armin
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln