- 締切済み
印刷ダイアログを表示させたくない
VB6.0でWORDファイルを印刷する機能を作成しています。 ボタンを押して指定のファイルを印刷する際、 完全にバックグラウンドで印刷したいのですが、 どうしても「印刷中」のダイアログが出てしまいます。 ソースは以下のとおりです。 Dim wd As Word.Application Set wd = CreateObject("Word.Application") wd.Visible = False wd.Documents.Open FileName:="D:\sample.doc", ReadOnly:=True wd.Options.PrintBackground = False wd.ActiveDocument.PrintOut wd.ActiveDocument.Close wd.Quit Set wd = Nothing ダイアログを制御するプロパティは存在しないのでしょうか? ご指導のほどよろしくお願い致します。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- chocomon
- ベストアンサー率0% (0/0)
<backgroundをtrueにすると、 <「印刷中です、wordを終了すると印刷待ちの全てのジ<ョブがキャンセルされます。wordを終了しますか?」 <というメッセージが出てしまうのです。 <それを避けるためにfalseにしています とありますが、 background=trueにして wd.DisplayAlerts = wdAlertsNone とすればどうでしょう?? 私自身WORDではなく、EXCELでは検証済みです。 DisplayAlertsは、警告・メッセージを表示する/しないを制御できます。
- jmh
- ベストアンサー率23% (71/304)
Excel VBA です。 Private Sub WordPrintBackground() Dim doc As Word.Document Set doc = CreateObject("C:\10pages.doc") With doc Call .Activate ' 必要? Call .PrintOut(True) While 0 < .Application.BackgroundPrintingStatus ' 不要? DoEvents Wend Call .Close(False) End With End Sub やっぱり、ダメですか?
- jmh
- ベストアンサー率23% (71/304)
VB_A_です。 With doc Call .PrintOut(True) While 0 < .Application.BackgroundPrintingStatus DoEvents Wend Call .Close(False) End With
- jmh
- ベストアンサー率23% (71/304)
BackgroundPrintingStatus はどうですか?
補足
すみません、当方勉強不足で「BackgroundPrintingStatus 」の使用方法がよくわかりません。 色々と調べたのですが、単純にprint中のステータスを取得する以外に使用方法があるのでしょうか? もしよろしければ具体的な実装方法をご教授ください。 よろしくお願い致します。
- jmh
- ベストアンサー率23% (71/304)
PrintBackground = True にすると出ないような気がします。
補足
すみません、説明不足でした。 backgroundをtrueにすると、 「印刷中です、wordを終了すると印刷待ちの全てのジョブがキャンセルされます。wordを終了しますか?」 というメッセージが出てしまうのです。 それを避けるためにfalseにしています。
補足
お世話になります。 アドバイスいただいた方法を試してみましたが、 やはりダイアログが出てしまいます。 やはり完全なバックグラウンドでの印刷は無理なのでしょうか?・・・・・