[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2005/09/11(Sun) 16:15
投稿者名:Starfish
Eメール:
URL :
タイトル:
Wordの印刷時に印刷中のダイアログを消すには
 いつも、お世話になっています。

 早速ですが、VBからWordの差込印刷を裏で(画面のないプログラムで)行っているのですが、
印刷時に、Wordの印刷中のダイアログが表示されます。

 このダイアログを表示させない方法ってありますでしょうか?

 ちなみに、以下のFalseをTrueに変更するとプログラム自体は正常に動作するのですが、
印刷もされなくなってしまいます。?

>    wrdApp.ActiveDocument.PrintOut Background:=False

 Wordで印刷するところの、サブルーチンは以下のようになっています。

Private Sub PrintKaitousho(strDocName As String)
'Dim wrdApp       As Word.Application           ' Word.Application
'Dim wrdDoc       As Word.Document              ' Word.Document
Dim wrdApp       As Object                      ' Word.Application
Dim wrdDoc       As Object                      ' Word.Document
Const wdSendToNewDocument = 0
Const wdDoNotSaveChanges = 0
    
    ' エラーは次に進みます
    On Error Resume Next
    
    ' Word のインスタンスを作成し、表示します。
    Set wrdApp = CreateObject("Word.Application")
'    wrdApp.Visible = True
    
    '差し込み印刷設定してあるWordのファイルを開く
    Set wrdDoc = wrdApp.Documents.Open(gstrDocPath & "\" & strDocName)
    
    'ファイルの差し替え
    wrdDoc.MailMerge.OpenDataSource Name:=gstrDataPath & "\Data.txt", LinkToSource:=True
    
    '差し込み印刷機能のオプションの設定
    With wrdApp.Documents(1).MailMerge
        .Destination = wdSendToNewDocument  '差し込み文書の送り先を設定
        .SuppressBlankLines = False         'Trueの場合は空白行は印刷されない
        .Execute Pause:=True                '指定されたデータの差し込みを実行します
    End With
    '文書(Documents(1))を印刷   印刷処理が終了するまで待機
    wrdApp.ActiveDocument.PrintOut Background:=False
    '保存しないで終了
    wrdApp.Quit SaveChanges:=wdDoNotSaveChanges
    'オブジェクトを解放します。
    Set wrdDoc = Nothing
    Set wrdApp = Nothing

End Sub

投稿時間:2005/09/11(Sun) 19:24
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: Wordの印刷時に印刷中のダイアログを消すには
試してはいませんが、下記ではどうでしょう。

    wrdApp.ActiveDocument.PrintOut Background:=True

    Do While wrdApp.BackgroundPrintingStatus > 0

    Loop

'    Dim St As Single
'    St = Timer
'    Do While Timer - St < 5
'
'    Loop

場合によっては、上記の後に少し待ち時間を作ってやるとか。

投稿時間:2005/09/11(Sun) 23:31
投稿者名:Starfish
Eメール:
URL :
タイトル:
Re^2: Wordの印刷時に印刷中のダイアログを消すには
> 試してはいませんが、下記ではどうでしょう。
>
>     wrdApp.ActiveDocument.PrintOut Background:=True
>
>     Do While wrdApp.BackgroundPrintingStatus > 0
>
>     Loop
>

 今、ノートパソコンでプリンタが使えないので、クセロでPDFファイルに
出力しているのですが、うまく出力されているようです。実際のプリンタで
どうなるかなというところはありますが、あとは何とかなりそうです。

 どうもありがとうございました。

投稿時間:2005/09/12(Mon) 10:33
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re^3: Wordの印刷時に印刷中のダイアログを消すには
> > 試してはいませんが、下記ではどうでしょう。

今日朝、チョット試して見たところ私の環境では、余計な待ち時間を
作らなくても、非表示で印刷されました。

うまく行きましたら、結果等お知らせ下さい。

投稿時間:2005/09/17(Sat) 02:55
投稿者名:Starfish
Eメール:
URL :
タイトル:
Re^4: Wordの印刷時に印刷中のダイアログを消すには
> > > 試してはいませんが、下記ではどうでしょう。
>
> 今日朝、チョット試して見たところ私の環境では、余計な待ち時間を
> 作らなくても、非表示で印刷されました。
>
> うまく行きましたら、結果等お知らせ下さい。

 なかなか実際のプリンタで確認ができていなくて、遅くなってしまいましたが、
以下の環境で、待ち時間なしでうまく動いております。

 WinXP Pro + Office 2003 + VB6.0SP6

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