Hallo Leute,
ich habe folgendes Probl.:
Ich möchte gerne aus einem Makro ein Dokument drucken. Dabei soll für erste Kopie des Dokumentes Papierschacht 1 und für alle weiter folgenden Papierschacht 2 benutzt werden (Drucker unterstützt das). Leider habe ich nichts gefunden, wie ich das so machen kann.
Hat jemand einen Vorschlag?
Ach, und wie bekomme ich die Namen der Verfügbaren (angeschlossenen) Drucker? Muss wohl über die System Lib. gehen, aber wie?
Vielen Dank
Ramses
drucken?
Moderator: Moderatoren
Hallo Ramses,
Der Zugriff auf den Papierschacht erfolgt offensichtlich über die Seitenvorlage, laut SUN-Programmierhandbuch müßte folgender Code funktionieren:
Dim Doc As Object
Dim StyleFamilies As Object
Dim PageStyles As Object
Dim DefPage As Object
Doc = StarDesktop.CurrentComponent
StyleFamilies = Doc.StyleFamilies
PageStyles = StyleFamilies.getByName("PageStyles")
DefPage = PageStyles.getByName("Default")
DefPage.PrinterPaperTray = "Name"
dieser Thread bestätigt das:
http://www.oooforum.org/forum/viewtopic ... ht=printer
allerdings ist mir nicht klar ob hier nun ein Problem vorliegt oder nicht:
http://www.oooforum.org/forum/viewtopic ... ht=printer
Die Ermittlung des Default-Druckers ist hier beschrieben:
http://www.oooforum.org/forum/viewtopic.php?p=18869
Ein Beispiel zum Drucken selbst, hier:
http://www.oooforum.org/forum/viewtopic ... ht=printer
Um alle Drucker (unter Windows) zu ermitteln, müßtest Du wohl die Registry auslesen, für andere Systeme als Windows kann ich für die Ermittlung aller Drucker keinen Rat geben.
Über den Zugriff auf die Registry müßtest Du Dich in der Library ImportWizard/Modul:API schlau machen. Mit folgendem Code kann ich den Namen des registrierten Eigentümers einer Windows 2000 Installation auslesen:
Ansonsten suche zu der Thematik unter http://www.oooforum.org nach Stichwort "printer". Ich bekomme dort eine ganze Reihe Treffer, welche ich nicht alle durchgehen konnte...
Gruß
Stephan
Der Zugriff auf den Papierschacht erfolgt offensichtlich über die Seitenvorlage, laut SUN-Programmierhandbuch müßte folgender Code funktionieren:
Dim Doc As Object
Dim StyleFamilies As Object
Dim PageStyles As Object
Dim DefPage As Object
Doc = StarDesktop.CurrentComponent
StyleFamilies = Doc.StyleFamilies
PageStyles = StyleFamilies.getByName("PageStyles")
DefPage = PageStyles.getByName("Default")
DefPage.PrinterPaperTray = "Name"
dieser Thread bestätigt das:
http://www.oooforum.org/forum/viewtopic ... ht=printer
allerdings ist mir nicht klar ob hier nun ein Problem vorliegt oder nicht:
http://www.oooforum.org/forum/viewtopic ... ht=printer
Die Ermittlung des Default-Druckers ist hier beschrieben:
http://www.oooforum.org/forum/viewtopic.php?p=18869
Ein Beispiel zum Drucken selbst, hier:
http://www.oooforum.org/forum/viewtopic ... ht=printer
Um alle Drucker (unter Windows) zu ermitteln, müßtest Du wohl die Registry auslesen, für andere Systeme als Windows kann ich für die Ermittlung aller Drucker keinen Rat geben.
Über den Zugriff auf die Registry müßtest Du Dich in der Library ImportWizard/Modul:API schlau machen. Mit folgendem Code kann ich den Namen des registrierten Eigentümers einer Windows 2000 Installation auslesen:
Code: Alles auswählen
Sub Main
GlobalScope.BasicLibraries.LoadLibrary("ImportWizard")
sTemplateKeyName = "Software\Microsoft\MS Setup (ACME)\User Info"
sTemplateValueName = "DefName"
eigentuemer = QueryValue(HKEY_CURRENT_USER, sTemplateKeyName,sTemplateValueName)
msgbox eigentuemer
End Sub
Gruß
Stephan