[リストへもどる]
一括表示

投稿時間:2004/02/09(Mon) 10:18
投稿者名:morimori
URL :
タイトル:
印刷処理について
morimoriと申します。
現在、VBで印刷処理を行っているのですが、印刷設定ダイアログ内で設定した項目が反映されない形で出力されます。原因を調べていたところ、NT系のOSでは設定した項目が反映されないということがわかりました。
そこで、以下のURL「http://210.233.22.220/VBlabo/commonDLG/J042959.htm」を参考にAPIを用いて試したところ、「割り付け印刷」「拡大・縮小」といった設定が反映されない形で出力されてしまいました。ただ、その他の項目に関しては反映された形で出力されています。
何か、改善策はあるのでしょうか?ご教授、よろしくお願いします。

投稿時間:2004/02/09(Mon) 13:55
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: 印刷処理について
下記の部分がそのままなら反映されないと思うのですが。

       'ここで Printer オブジェクトにダイアログに設定された値を代入します。
           With Printer
               .Copies = DevMode.dmCopies
               .Duplex = DevMode.dmDuplex
               .Orientation = DevMode.dmOrientation
           End With
           On Error GoTo 0
       End If

投稿時間:2004/02/09(Mon) 16:01
投稿者名:morimori
URL :
タイトル:
Re^2: 印刷処理について
morimoriです。

> 下記の部分がそのままなら反映されないと思うのですが。
>
>        'ここで Printer オブジェクトにダイアログに設定された値を代入します。
>            With Printer
>                .Copies = DevMode.dmCopies
>                .Duplex = DevMode.dmDuplex
>                .Orientation = DevMode.dmOrientation
>            End With
>            On Error GoTo 0
>        End If

上記のプロパティは更新されます。
プログラムとしては以下のコードにしています。

    'ここで Printer オブジェクトにダイアログに設定された値を代入します。
    With Printer
        .Copies = DevMode.dmCopies
        .Duplex = DevMode.dmDuplex
        .Orientation = DevMode.dmOrientation
        .PaperSize = DevMode.dmPaperSize
        .PaperBin = DevMode.dmDefaultSource
        .PrintQuality = DevMode.dmPrintQuality        
    End With
    On Error GoTo 0

ここで設定する際に、割り付け印刷や拡大縮小といった部分のプロパティ項目がわからない状態です。

投稿時間:2004/02/09(Mon) 16:47
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re^3: 印刷処理について
> ここで設定する際に、割り付け印刷や拡大縮小といった部分のプロパティ項目がわからない状態です。

Printer オブジェクトの設定は、ヘルプでPrinter オブジェクトのプロパティを
調べて見て下さい。(Zoom プロパティ等)

但し、プリンタードライバーがサポートしていないものは設定できません。

投稿時間:2004/02/09(Mon) 17:05
投稿者名:morimori
URL :
タイトル:
Re^4: 印刷処理について
morimoriです。

> Printer オブジェクトの設定は、ヘルプでPrinter オブジェクトのプロパティを
> 調べて見て下さい。(Zoom プロパティ等)
>
> 但し、プリンタードライバーがサポートしていないものは設定できません。

MSDNのヘルプを参照してみましたが、Zoomプロパティの項目は更新されませんでした。
ただ、割り付け印刷のプロパティがPrinterオブジェクトのどのプロパティにあたるのかがわかりません。
わかりますでしょうか?

投稿時間:2004/02/09(Mon) 18:52
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re^5: 印刷処理について
そもそも、コモン ダイアログ (CommonDialog) コントロールを使って
ユーザに設定をまかすのか、プログラム上で印刷設定をするのかどちらなのでしょう。
ユーザに設定をまかすのならコモン ダイアログ (CommonDialog) コントロールを
使用しないで、ここのプリンタ設定ダイアログボックスを表示(APIを使って)の
ようにすればいいのでは、プログラム上から設定するなら、Printerオブジェクトを
使用せず、APIで設定したらどうですか。

CommonDialogは、VB6.0の頃から色々問題があったので、私は印刷には使っておりません。

投稿時間:2004/02/09(Mon) 19:04
投稿者名:morimori
URL :
タイトル:
Re^6: 印刷処理について
morimoriです。

当初は、コモンダイアログを使用して行おうと考えていましたが、NT系のOSでは設定が反映されないと
いうことでAPIを使用して行おうと考えました。
そして、「http://210.233.22.220/VBlabo/commonDLG/J042959.htm」のURLのサンプルを参考に試してみ
ました。しかし、印刷する際、いくつかの項目が反映されない形で出力されてしまったので何かいい方法
がないものかなと思い、こちらに投稿させていただきました。
自分としては、コモンダイアログを使用した形のように、設定ダイアログを表示してユーザーに設定を
してもらい、その項目を反映した形で出力したいと考えています。(APIを用いて)
紛らわしい表現を用いてしまい、申し訳ありませんでした。
何かいい方法があれば、ご教授いただきたいです。