Autor Thema: Drucken aus LScript  (Gelesen 7102 mal)

Offline Don Pasquale

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.390
  • Geschlecht: Männlich
  • Don Pasquale
    • Auf Verlorenem Posten
Drucken aus LScript
« am: 09.02.04 - 13:14:48 »
Hallo Leute,
ich möchte ein LotusDokument ausdrucken,
damit :
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = workspace.CurrentDocument
Call uidoc.Print( 1 )

geht das auch.
Wie kann ich nun aber einen bestimmten Druckertreiber ansprechen ?

Hat da jemand eine Idee ?

Ciao
Don Pasquale

« Letzte Änderung: 09.02.04 - 14:48:28 von Don Pasquale »

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Drucken aus LScript
« Antwort #1 am: 09.02.04 - 13:57:01 »
Hi,

wenn du den Parameter bei Print wegläßt, wird der Druckdiloag angezeigt. Dort kannst du den entsprechenden Drucker dann auswählen.

Das ist aber bestimmt nicht der Weg, den du gehen willst. In Script ist mir nichts weiter bekannt. Eventuell musst du API-Funktionen einsetzen.

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Don Pasquale

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.390
  • Geschlecht: Männlich
  • Don Pasquale
    • Auf Verlorenem Posten
Re:Drucken aus LScript
« Antwort #2 am: 09.02.04 - 14:04:37 »
@Axel,

Du hast recht, den Druckdialog möchte ich vermeiden.

OK, versuche ich den Weg über die API.

Ciao und Vielen Dank
Don Pasquale

Offline Don Pasquale

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.390
  • Geschlecht: Männlich
  • Don Pasquale
    • Auf Verlorenem Posten
Re:Drucken aus LScript
« Antwort #3 am: 09.02.04 - 14:49:59 »
@Axel,

das ist für mich Neuland, kannst Du mir einen Tipp geben
welchen API Befehl ich da suchen muss.
Unter VB gibt es das Object Printer,
wie spreche ich das aus LS an ?
Ciao
Don Pasquale

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Drucken aus LScript
« Antwort #4 am: 09.02.04 - 14:51:35 »
Uh, das Wechseln des Druckertreibers über die Win-API geht zwar theoretisch, in der Praxis sieht das aber ganz anders aus. Kommt dazu, dass man da auch noch Windows-Versionsabhängig sich anders verhalten muss. Selbst Versuche von wirklich guten Leuten, sowas zu machen, sind gescheitert, ich kenne momentan nienmanden, ders zum Laufen gebracht hat. Viel Vergnügen beim Ansehen der RBODs
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Drucken aus LScript
« Antwort #5 am: 09.02.04 - 15:03:26 »
So aus dem tiefsten Hinterkopf: In der Sandkiste gibt eine DB, "API Goodies", glaube ich. Könnte als Ansatz dienen.
A-Bär: Der Wechsel des Druckertreibers ist ja auch in Windows eine UI-Funktionalität, und sicher aus gutem Grunde. Ich habe da auch schon mal gebastelt, aber sehr schnell aufgegeben.
Ich kann daher Semeaphoros nur zustimmen ...

Bernhard

Offline Don Pasquale

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.390
  • Geschlecht: Männlich
  • Don Pasquale
    • Auf Verlorenem Posten
Re:Drucken aus LScript
« Antwort #6 am: 09.02.04 - 15:03:32 »
@Semaphor

oh Hölle, das wird mein cheffe gar nicht gerne hören.
Ich komme ja schon oft genug mit dem Argument
das geht mit Lotus nicht.

Danke für die Warnung.

Damit ich aber fundiert genug "Geht nicht" sagen kann,
wie würde denn ein Druckaufruf über die API aussehen.
Ein "Ich weiß zwar nicht wie´s gehen sollte,
aber ich weiss ja, dass es eh nicht geht"
kommt nun überhaupt nicht gut.

Ciao
Don Pasquale


Offline Don Pasquale

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.390
  • Geschlecht: Männlich
  • Don Pasquale
    • Auf Verlorenem Posten
Re:Drucken aus LScript
« Antwort #8 am: 09.02.04 - 16:13:15 »
@Glombi:

Herzlichen Dank,
das schaut doch schon sehr brauchbar aus.

Ich habe aber noch ein Problem, nämlich die Fehlermeldung :
External Function not Found

Der Fehler passiert wenn er SetDefaultPrinter aufruft.
In den Options habe ich folgende Zeile

Declare Function SetDefaultPrinter Lib "winspool.drv" Alias "SetDefaultPrinterA" (Byval pszPrinter As String) As Long
Declare Function GetProfileString Lib "kernel32" Alias "GetProfileStringA" (Byval lpAppName As String, Byval lpKeyName As String, Byval lpDefault As String, Byval lpReturnedString As String, Byval nSize As Long) As Long

Die winspool.drv befindet ebenfalls im System Verzeichnis von Windows

Das ist der Code

Function PrintToPDF
   
   Dim CurPrinter As String
   Dim retval As Long
   
   CurPrinter = GetCurrentPrinter
   
 ???   retval = SetDefaultPrinter("FinePrint 2000") ' you will enter here the full name of the printer, including the server if printer is on network; you can find the name by looking at printer options in any printing menu, say, in Word;
   If retval <> 0 Then
      Msgbox "This document is now transferred to PDF format.", 64, "PDF action"
'the message box is a necessary trick to interrupt execution for printer swapping. The doc will print on the old printer if this interruption is not in place; you can replace it with a Yes/No box:
'flag = Msgbox ("Do you want to store this document as PDF?", 4 + 32, "PDF action")
'If flag = 7 Then
'Call SetDefaultPrinter(CurPrinter)
'Exit Function
'End If
      Dim ws As New NotesUIWorkspace
      Dim uidoc As NotesUIDocument
      Set uidoc = ws.CurrentDocument
      Call uidoc.Print(1,,,)
   Else
      Msgbox "Cannot create PDF compatible printer driver"
   End If
   
   Call SetDefaultPrinter(CurPrinter)
   
End Function


Hat jemand eine Idee ?

Ciao

Don Pasquale

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Drucken aus LScript
« Antwort #9 am: 09.02.04 - 16:20:10 »
Was für ein OS verwendest Du denn ? Die Routinen von LDD waren ja für Windows 2000 ...
Womit wir evtl. wieder bei dem Punkt sind, den Semeaphoros schon erwähnte ...

Bernhard

Offline Don Pasquale

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.390
  • Geschlecht: Männlich
  • Don Pasquale
    • Auf Verlorenem Posten
Re:Drucken aus LScript
« Antwort #10 am: 09.02.04 - 16:22:28 »
Aua,
ich habe hier NT. Und die Routinen sollen u.a. für XP sein.

Wie kann ich denn jetzt weiter vorgehen ?

Ciao
Don Pasquale



Glombi

  • Gast
Re:Drucken aus LScript
« Antwort #11 am: 09.02.04 - 16:39:10 »
Bei NT sieht das eher mau aus. In den API Goodies (siehe mal in der Sandbox nach), gibt es was für alle möglichen Windoof-Versionen, nur nicht für NT.

(NT = Neandertal-Technologie => wäre doch was für die AT Fachsprache  ;D)

Andreas

Offline Don Pasquale

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.390
  • Geschlecht: Männlich
  • Don Pasquale
    • Auf Verlorenem Posten
Re:Drucken aus LScript
« Antwort #12 am: 09.02.04 - 16:43:52 »
wird auf morgen vertagt !

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Drucken aus LScript
« Antwort #13 am: 09.02.04 - 17:13:47 »
Als Argumentation für Deinen Chef, Don: Welche Apps gibt es denn, die den Standard-Windows-Druckertreiber-Wechsel-Dialog umgehen ? Dafür muss es ja einen Grund geben ...

Andererseits (so unter uns ;-) kann man ja auch in Dateien mitspeichern, in welchem Format sie gespeichert werden sollen, und ggf. kann man bei Produkten auch den Drucker mit speichern. Der Wechsel erfolgt aber immer mit Windows-Bordmitteln ...

Wiederum andererseits: Wenn Du einen OS-unabhängigen Code austüftelst, dann wird Dein Ruhm hier im Forum noch erheblich weiter steigen  ;)

Ciao und viel Erfolg,
Bernhard

Offline Don Pasquale

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.390
  • Geschlecht: Männlich
  • Don Pasquale
    • Auf Verlorenem Posten
Re:Drucken aus LScript
« Antwort #14 am: 10.02.04 - 08:44:54 »
@Koehler,

Ich will eine LotusMail archivieren, damit ich Sie revisionssicher
archivieren kann. Dazu möchte ich die Mail mittels eines Druckertreiber
vertiffen. Das tif-Dokument schiebe ich dann auf einen Dokument-Server.

Wenn ich jetzt jemandem erzählen soll, ich könnte aus Lotus heraus nicht den Default Printer umstellen wird der an meinen Fähigkeiten zweifeln, nicht an Lotus.

Ciao
Don Pasquale

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Drucken aus LScript
« Antwort #15 am: 10.02.04 - 09:09:59 »
... auch ich habe mir an dem Problem schon mal die Zähne ausgebissen. Das Problem ist, daß du den Default-Printer zwar hin und her schalten kannst, Notes davon aber erst nach einem Neustart was wissen will...  >:(

... du kannst das über einen Server lösen, auf dem du einen Drucker entsprechend voreingestellt hast. Mit einem Agenten, der nur auf dem Server laufen darf kannst du dann den .Print verwenden...

PS: Die einzigste Version, mit der ich das switchen erfolgreich geschafft habe war Win98 SE - aber nur mit der...

ata
Grüßle Toni :)

Glombi

  • Gast
Re:Drucken aus LScript
« Antwort #16 am: 10.02.04 - 09:20:06 »
Käme auch der Einsatz ein 3rd Party Products in Frage? Falls ja, gibt es diverse Tools wie bspw.
http://www.easy.de/dyn/epctrl/mod/easy002277/cat/easy002414/pri/easy

Andreas

Offline Don Pasquale

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.390
  • Geschlecht: Männlich
  • Don Pasquale
    • Auf Verlorenem Posten
Re:Drucken aus LScript
« Antwort #17 am: 10.02.04 - 09:56:26 »
@ata: Auf dem Server,  das ist ja mal eine Idee.

@Glombi: 3party iss nich.

Ciao
Don Pasquale


Offline Don Pasquale

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.390
  • Geschlecht: Männlich
  • Don Pasquale
    • Auf Verlorenem Posten
Re:Drucken aus LScript
« Antwort #18 am: 11.02.04 - 15:01:00 »

Also unter 2000 ergab ein erster oberflächlicher Test dass es klappt.
Ich bin aber wegen eurer Kommentare sehr verunsichert, ob man so etwas als sicher verwenden kann

Ciao
Don Pasquale





Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Drucken aus LScript
« Antwort #19 am: 12.02.04 - 09:38:02 »
... ich arbeite hier mit Win 2000 - und da funzt es nicht - es scheint also mehrere Faktoren zu geben. Wenn du die Umgebung festklopfen kannst, könntest du es versuchen - ich wäre allerdings vorsichtig, der Weg mit dem Server funktioniert auf jeden Fall...

Toni
Grüßle Toni :)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz