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:
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
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