Standarddrucker finden und auswählen

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Standarddrucker finden und auswählen

Re: Standarddrucker finden und auswählen

von susapo » Di, 24.11.2020 14:22

Hallo Stephan,
herzlichen Dank !! das ist ja ne tolle Idee, wird sofort in die tool-Sammlung übernommen.
liebe Grüße Michael

Re: Standarddrucker finden und auswählen

von Stephan » Sa, 21.11.2020 16:52

um systemunabhängig zu sein, würde ich einfach ein neues Dokument öffnen und dessen Drucker auslesen:

Code: Alles auswählen

	Dim par(0) As New com.sun.star.beans.PropertyValue
	par(0).Name = "Hidden"
	par(0).Value = True
	
	oDoc = StarDesktop.loadComponentFromURL("private:factory/swriter", "_blank", 0, par())
	
	oProps = oDoc.getPrinter()
	For i = 0 To UBound(oProps)
	    sName = oProps(i).Name
	    If sName = "Name" Then Msgbox oProps(i).Value, 64, "Standarddrucker"
	Next i  
	oDoc.Close(True)

Gruß
Stephan

Re: Standarddrucker finden und auswählen

von susapo » Sa, 21.11.2020 14:28

Eine Lösung hab ich schon mal selbst gefunden. Unter Extras/Optionen/Laden und Speichern kann man den Haken entfernen bei "Druckereinstellungen mit dem Dokument laden". Damit ist das Doku druckertechnisch jungfräulich und nimmt den Win Standarddrucker.
Dennopch wü´ßte ich gerne, wie ich im Makro den Standarddrucker ermitteln kann.

Standarddrucker finden und auswählen

von susapo » Sa, 21.11.2020 13:59

Hallo, ich hab ein Druckerproblem. Wenn mein Calc-Makroprogramm auf anderen Rechner mit anderen Druckern läuft, dann steht in dem Calc Dokument immer noch mein Drucker drin. Und da ich zum ausprobieren bei mir zuhause den Microsoft PDF Printer ausgewählt hatte, eben der.
Wie kann ich meinem Makro sagen, dass es den Windows Standarddrucker des jeweiligen Rechners nehmen soll? oder kann ich mein Calc Dokument vor der Weitergabe "druckerfrei" machen?
bei Dannenhöfer hab ich das gefunden:

myDoc=thiscomponent
myprinter=mydoc.getprinter
msgbox myPrinter(0).value

dim arg(0) as New com.sun.star.beans.PropertyValue
arg(0).name="Name"
arg(0).value="Acrobat PDFWriter"

mydoc.setPrinter(arg())


aber in myPrinter(0).value steht dann eben der im Dokument verknüpfte Drucker, nicht der Windows StandardDrucker.
Und was ich in arg(0).value="Acrobat PDFWriter" stattdessen eintragen könnte, weiß ich nicht.

ich bitte um Nachsicht und Nachfrage, wenn ich mich unklar ausgedrückt habe.
Danke für Hilfe, Michael

Nach oben