(環境はVB6、SP5、Windows98および2000)
LANに接続された複数のプリンター名をCombo1に取込み下記の記述でプリンターを
切換えようとしても、切換わりません(用紙サイズ/方向は変更できました)。
対処方法のご教授をお願い致します。
過去既に同種の質問があったかも知れませんが、「ハンドル云々」等全く理解でき
ない状況です、宜しくお願い致します。
尚、CommonDialogも使用してみましたが、プリンターは切換わるものの用紙サイズ
および用紙方向が切換わらない状態であったための苦肉の策です。
Dim Prin As Printer
If Printer.DeviceName <> Combo1.Text Then
Printer.EndDoc
For Each Prin In Printers
If Prin.DeviceName = Combo1.Text Then
Set Printer = Prin
Exit For
End If
Next
End If
(以下は実際には、チェックボックスを利用してサイズ方向を変更しています)
Printer.PaperSize = vbPRPSA4
Printer.Orientation = cdlPortrait
ちなみにコモンダイアログで用紙サイズ/方向が切換わらなかった記述は以下の通り
です。
Printer.EndDoc
CommonDialog1.CancelError = True
On Error GoTo ErrHandler
CommonDialog1.Flags = &H40
CommonDialog1.ShowPrinter
「VBレスキュー花ちゃん」サイトに記載されていた通り「マイクロソフト」の
ホームページで、対処方法が見つかり、
Printer.TrackDefault = True(CommonDialog使用の場合)
を記載して解決しました。
しかしなんです、皆さんからレスを貰えず「自分で解決」と言うのも淋しいも
のです(「チャント調べてから質問しろよ」との叱咤ですかネ)。
ツイート | ![]() |