Printer-Objekt: Methoden und Eigenschaften nicht verfügbar?

22/03/2011 - 23:17 von Thomas Hoffmann | Report spam
Moin, schon wieder ein unerwartetes Problem.
Aus einer Printer-Auflistung wàhlt der user einen aus.
Dieser wird dann, um einfacher coden zu können einer Variablen zugeordnet:

dim pp as printer
set pp=printer(index)

pp hat nun eine korrekte .devicename-Eigenschaft.
und pp.Font.Name = "mein font" produziert keinen Fehler.

nun aber gibts Probleme:
z.B. pp.papersize=vbprpsa4 macht Fehler: 'papersize-Eigenschaft ist schreibgeschützt'
oder pp.TextWidth("ABC") macht fehler'Objekt unterstützt diese Eigenschaft oder Methode nicht'

Nur zur Sicherheit: printer(index) macht das alles ohne Fehler.

Warum ist das so? Ist das ein Bug?
Kann ich das abstellen?

Gruß und Dank!
TH

Thomas Hoffmann
 

Lesen sie die antworten

#1 Thorsten Albers
23/03/2011 - 00:08 | Warnen spam
Thomas Hoffmann schrieb im Beitrag
<imb6vl$ccp$01$...
Moin, schon wieder ein unerwartetes Problem.
Aus einer Printer-Auflistung wàhlt der user einen aus.
Dieser wird dann, um einfacher coden zu können einer Variablen


zugeordnet:

...

Nur zur Sicherheit: printer(index) macht das alles ohne Fehler.

Warum ist das so? Ist das ein Bug?
Kann ich das abstellen?



Wenn ich mich recht erinnere:
Über das Printer-Objekt besteht Schreib-/Lesezugriff nur auf den
Standard-Drucker von Windows, auf alle anderen Drucker kann nur lesend
zugegriffen werden. Wenn Du also über das Printer-Objekt Eigenschaften
àndern willst, mußt Du zunàchst den Standard-Drucker von Windows
entsprechend umbiegen; dazu s.
http://support.microsoft.com/kb/266767/en-us
How To Set Which Printer Is the System Default Printer

Eine alte Ärgerlichkeit von VB...

Thorsten Albers

gudea at gmx.de

Ähnliche fragen