• 締切済み

印刷ダイアログを表示させたくない

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 ダイアログを制御するプロパティは存在しないのでしょうか? ご指導のほどよろしくお願い致します。

みんなの回答

  • chocomon
  • ベストアンサー率0% (0/0)
回答No.5

<backgroundをtrueにすると、 <「印刷中です、wordを終了すると印刷待ちの全てのジ<ョブがキャンセルされます。wordを終了しますか?」 <というメッセージが出てしまうのです。 <それを避けるためにfalseにしています とありますが、 background=trueにして wd.DisplayAlerts = wdAlertsNone とすればどうでしょう?? 私自身WORDではなく、EXCELでは検証済みです。 DisplayAlertsは、警告・メッセージを表示する/しないを制御できます。

  • jmh
  • ベストアンサー率23% (71/304)
回答No.4

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)
回答No.3

VB_A_です。 With doc  Call .PrintOut(True)  While 0 < .Application.BackgroundPrintingStatus   DoEvents  Wend  Call .Close(False) End With

tektek
質問者

補足

お世話になります。 アドバイスいただいた方法を試してみましたが、 やはりダイアログが出てしまいます。 やはり完全なバックグラウンドでの印刷は無理なのでしょうか?・・・・・

  • jmh
  • ベストアンサー率23% (71/304)
回答No.2

BackgroundPrintingStatus はどうですか?

tektek
質問者

補足

すみません、当方勉強不足で「BackgroundPrintingStatus 」の使用方法がよくわかりません。 色々と調べたのですが、単純にprint中のステータスを取得する以外に使用方法があるのでしょうか? もしよろしければ具体的な実装方法をご教授ください。 よろしくお願い致します。

  • jmh
  • ベストアンサー率23% (71/304)
回答No.1

PrintBackground = True にすると出ないような気がします。

tektek
質問者

補足

すみません、説明不足でした。 backgroundをtrueにすると、 「印刷中です、wordを終了すると印刷待ちの全てのジョブがキャンセルされます。wordを終了しますか?」 というメッセージが出てしまうのです。 それを避けるためにfalseにしています。

関連するQ&A

  • エクセルVBAでワード文書印刷(2)

    先日、こちらで、VBAを記述したエクセルのブックと同一フォルダーにおいておいたABC.DOCをプリントし、ABC.DOCを閉じる方法を教えていただき、Excel2003でためしたら、下記でうまくいきました。(その際、回答者のchie65536さん、手が滑ってポイントをつけず締め切ってしまいました、申し訳ございません。) ところが今、会社のExcel2000でやったところ、「印刷中です。Wordを終了すると印刷待ちのすべてのジョブがキャンセルされます。」と出てしまいます。 ABC.DOCをプリントしおわったら、ABC.DOCを閉じ、ワードを終了するようにしたいのです。 ためしに、wd.Quitの代わりに、wd.ActiveDocument.Close とすれば印刷はされましたが、ワードが終了しません。 wd.ActiveDocument.Close のあとに wd.Quitを入れると、「印刷中です。Wordを終了すると・・・・」が出てしまいます。 どうなおせばよいのでしょうか? Sub Word_Print() Dim wd As Object Set wd = CreateObject("Word.application") wd.Visible = True wd.documents.Open Filename:=ThisWorkbook.Path & "\ABC.doc" wd.ActiveDocument.PrintOut wd.Quit Set wd = Nothing End Sub よろしくお願いいたします。

  • Excelマクロで、WORDを閉じるには。

    Excel2000のマクロ内で、Word2000を起動してファイルを開き、それを別名保存した後Wordを閉じてExcelに戻る…という処理を行いたいのですが、Wordを閉じる所がうまく出来ません。 [現在のマクロ]------------------------------ Set wd = CreateObject("word.Application") wd.Visible = True wd.documents.Open Filename:= _ "C:\aaa.doc" wd.ActiveDocument.SaveAs Filename:= _ "C:\test\bbb.doc" wd.Close SaveChanges:=False -------------------------------------------- これで実行すると、開いたファイル(aaa.doc)は閉じるのですが、別名保存したファイル(bbb.doc)が閉じません。両方のファイルおよびWORDアプリケーションを閉じたければどう記述すればよいのでしょうか? どなたか教えてください。

  • EXCEL VBAでプリンタの設定方法について

    EXCEL VBAのプリンタの設定方法について質問があります。 Dim oApp As Object Dim WFM As Strin WFM = "\\Cl111\フォルダ\ファイル\" &Range("C3").Value & ".doc" Set oApp = CreateObject("Word.Application")  ’ワード起動 oApp.Visible = True oApp.Documents.Open WFM  ’文書を開く Application.ActivePrinter = "AAA on Ne00:"  ’プリンタ設定 oApp.activedocument.PrintOut Copies:=1, Background:=False  ’印刷 oApp.Quit SaveChanges:=False  ’ワード終了 Set oApp = Nothing このようなコードで、(1)ワードを開き、(2)プリンタを設定し、(3)印刷をする、という作業をしたいのですが、 Application.ActivePrinter = "AAA on Ne00:" ではプリンタの設定が変わらず、通常使うプリンターで印刷がされてしまいます。 ワードを開いて印刷することで何か特殊なコードが必要なのではないかと思うのですが、調べても該当するものが出てきませんでした。 どうぞよろしくお願いいたします。

  • Word2000の差込印刷を繰り返し行う方法について

    VB6で計算したデータをAccess2000に入れ、そのデータをWord2000の差込印刷機能を利用して出力したいのですが、1回目は上手くいくのですが続けて2回目を実行すると実行時エラー’462’【リモートサーバーがないか、使用できる状態ではありません。】と表示されます。 With ActiveDocument.MailMerge '差込印刷の行でエラーが表示されます。 コードの抜粋は以下の通りです。 ---ここまででデータを書き込みます。--- Set wdApp = New Word.Application Set wdDoc = wdApp.Documents wdDoc.Open FileName~---ここでWordファイルを開きます。--- With ActiveDocument.MailMerge '差込印刷 .Destination = wdSendToNewDocument .MailAsAttachment = False .MailAddressFieldName = "" .MailSubject = "" .SuppressBlankLines = False With .DataSource .FirstRecord = wdDefaultFirstRecord .LastRecord = wdDefaultLastRecord End With .Execute Pause:=True End With Windows(wdfile).Activate ActiveWindow.Close ~SaveAs FileName~'番号を付けて保存を行います。 wdDoc.Close 'Wordを終了させます。 wdApp.Quit Set wdApp = Nothing Set wdDoc = Nothing 長々と書いて申し訳ございませんが、よろしくお願いいたします。

  • vbscriptでWordのヘッダーを変更

    vbscriptでWordのヘッダーを変更したく、下記のコーディングをしましたが、ヘッダーの変更ができません。 (本文に"1111"が記載されてしまいます。) どこが違うか教えて頂けませんでしょうか? vbscriptでWordをコーディングするのは初めてです。 よろしくお願いします。 Set objWord = CreateObject("Word.Application") Set objDoc = objWord.Documents.Open ("C:\test\test.doc") objDoc.ActiveWindow.ActivePane.View.SeekView=wdSeekCurrentPageHeader objWord.Selection.ParagraphFormat.Alignment=wdAlignParagraphRight objWord.Selection.Text="1111" objDoc.ActiveWindow.ActivePane.View.SeekView=wdSeekMainDocument objWord.ActiveDocument.PrintOut objWord.ActiveDocument.Close (True) objWord.Quit

  • VBScriptでのWord印刷

    お世話になります。 VBScriptよりWordを開いて印刷を行うプログラムを作成しているのですが、 「印刷中です。Wordを終了すると印刷待ちのすべてのジョブがキャンセルされます。Wordを終了しますか?」 が表示されてしまいます。 印刷命令を発行してファイルを閉じる際に表示されていると思いますが、このアラートを表示しない方法はあるのでしょうか? どなたかご存知でしたらお教え下さい。 宜しくお願い致します。 実行環境 OS   Win2000 Office 2000 プログラム(一部抜粋) Set objWord = CreateObject("Word.Application") objWord.Documents.Open(ファイルパス) Set objWordDoc = objWord.ActiveDocument objWordDoc.PrintOut objWordDoc.Close

  • vbsでexcelファイルを印刷したいのですが、印刷部数の設定がどうし

    vbsでexcelファイルを印刷したいのですが、印刷部数の設定がどうしてもわかりません。 他で見つけたスクリプトですが…。 Set obj = CreateObject("Excel.Application") Set WSHShell = CreateObject("Wscript.Shell") Set objWkBk = obj.Workbooks.Open("D:\TEST.xlsx") obj.ActiveWindow.SelectedSheets.PrintOut() obj.quit() Set obj = Nothing ご教授お願いいたします。

  • Access2010でWORD差込VBA実行後終了

    Access2010でWORDのブックマークへの差込を実行するVBAを組み、うまく作動しました ところが、「WORDで特定文書の名前で保存する構文をいれ、別名保存がうまく終わっている」にも拘わらず、必ず”未保存の文書1を保存しますか?”とWORDが必ず聞いてきます。これを回避するにはどのようにしたらよろしいでしょうか? ACCESS2010のVBAは下記のとおり組んでいます 'Word文書を保存する箇所 WordApp.Application.ActiveDocument.SaveAs FileName:=VARIABLE.doc, FileFormat:=1 'Wordを終了する箇所(上記保存のすぐ後に書いています) WordApp.Application.ActiveDocument.Close WordApp.Quit Set WordApp = Nothing Set doc = Nothing

  • objAcc.Visible = False 可視

    アクセスからアクセスファイルを開いています。 Set objAcc = CreateObject("Access.Application") objAcc.OpenCurrentDatabase "C:\あああ.accdb", False objAcc.Run "test1" objAcc.Quit Set objAcc = Nothing の様にして、VBAでアクセスファイルを開いてるのですが この時、起動するファイルの可視をFalseにすることは可能でしょうか? Set objAcc = CreateObject("Access.Application") objAcc.Visible = False objAcc.OpenCurrentDatabase "C:\あああ.accdb", False としても、ファイルが開いてるのが見えてしまいます。

  • VBSでWordの文字色変え

    VBSなのですが Wordファイルをドラッグしたら <と>で囲まれた文字の色を変更して保存する というものを考えております が <============= 部分でコンパイルエラー(ステーメントがありません) が発生します 初心者でさっぱりわからないのですが どなたかお助けを! よろしくお願いいたします 以下ソース Dim objWord Dim f Dim m If WScript.Arguments.Count<1 Then m="Hello!" MsgBox m WScript.Quit End If Set objWord=CreateObject("Word.Application") objWord.Visible=True For Each f In WScript.Arguments objWord.Documents.Open f objWord.Selection.Find.ClearFormatting objWord.Selection.Find.Replacement.ClearFormatting objWord.Selection.Find.Replacement.Font.Color = wdColorRed With objWord.Selection.Find .Text = "\<[!\>]@\>" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = True .MatchCase = False .MatchWholeWord = False .MatchByte = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchFuzzy = False .MatchWildcards = True End With objWord.Selection.Find.Execute Replace:=wdReplaceAll '<======================= objWord.ActiveDocument.SaveAs f&".doc" objWord.ActiveDocument.Close Next objWord.Quit WScript.Quit

専門家に質問してみよう