VB6で印刷するときのOrientationプロパティで

解決


とっしー  2007-06-23 21:12:07  No: 136808

お世話になります。

当方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

よろしくお願いします。


雄大  2007-06-23 22:56:38  No: 136809

すべてのプリンタでそうなるのでしょうか?


とっしー  2007-06-23 23:53:44  No: 136810

雄大様

実は他のプリンタでは検証していなかったんですが
"PrimoPDF"をインストールして実行してみるとうまくいきました・・・
当方実機のプリンタを持っていないのでどうかとは思いますが
もしかしたら"Microsoft Office Document Image Writer"の問題かなと思います。
ですので"Microsoft Office Document Image Writer"で横を選択したときは処理をしないようにエラートラップを仕掛けて対処しようと思います。

雄大様ありがとうございました。


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加