お世話になります。
当方VB6(SP6)でコーディングしています。
やりたいことは
①印刷するプリンタをコンボボックスから選択する
②印刷色(カラー・モノクロ)をオプションボタンから選択する
③印刷方向(縦・横)をオプションボタンから選択する
④印刷ボタンを押すとピクチャーボックスに表示している画像を上記の設定で印刷を開始する
・・・という処理をしたいんですが、印刷方向を横に設定した時だけ
実行時エラー'380'プロパティの値が不正です。
とVBエラーが出てしまい横方向のみの印刷に対応できません(’_’、)
■下記そのときのコードです
Private Sub Command1_Click()
Dim objPrinter As Printer
For Each objPrinter In Printers
’修正してありますが、本来はコンボボックスで選択したプリンタを設定します。
If objPrinter.DeviceName = "Microsoft Office Document Image Writer" Then
Set Printer = objPrinter
End If
Next
With Printer
'印刷方向
If Option1(0).Value = True Then
'たて
.Orientation = vbPRORPortrait
Else
'横
.Orientation = vbPRORLandscape
End If
'色
If Option2(0).Value = True Then
'カラー
.ColorMode = 2
Else
'モノクロ
.ColorMode = 1
End If
.PaintPicture Picture1.Image, 0, 0
.EndDoc
End With
End Sub
よろしくお願いします。
すべてのプリンタでそうなるのでしょうか?
雄大様
実は他のプリンタでは検証していなかったんですが
"PrimoPDF"をインストールして実行してみるとうまくいきました・・・
当方実機のプリンタを持っていないのでどうかとは思いますが
もしかしたら"Microsoft Office Document Image Writer"の問題かなと思います。
ですので"Microsoft Office Document Image Writer"で横を選択したときは処理をしないようにエラートラップを仕掛けて対処しようと思います。
雄大様ありがとうございました。
ツイート | ![]() |