• ベストアンサー

エクセルVBAでワード文書を出力?

こんなことできますか? 「VBAを記述したエクセルのブックと同一フォルダーにおいておいたABC.DOCをプリントし、ABC.DOCを閉じる」 これができるととても助かります。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

エクセルのVBEの標準モジュールに Sub test01() Dim wdobj As Object Set wdobj = CreateObject("word.application") wdobj.documents.Open Filename:="C:\Documents and Settings\XXX\My Documents\文書1.doc" wdobj.Visible = True wdobj.ActiveDocument.PrintOut ' From:=nPageStart, To:=nPageEnd wdobj.Quit Set wdobj = Nothing End Sub を貼り付け、文書ファイル名・Pathを変えて、実行してみてください。

merlionXX
質問者

お礼

ありがとうございました。 上手くいきました。 たすかりました。

その他の回答 (1)

  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.2

Sub Word_Print()   Dim wd As Object   Set wd = CreateObject("Word.application")   wd.Visible = True   wd.Documents.Open Filename:="ABC.DOC"   wd.PrintOut Filename:="ABC.DOC"   wd.Quit False   Set wd = Nothing End Sub

merlionXX
質問者

お礼

ありがとうございました。 下記のようにしたら上手くいきました。 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 ' False Set wd = Nothing End Sub

関連する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 よろしくお願いいたします。

  • word vba

    excel あるいは WORDのVBAで 自己の今使用しているファイル名を読み込んで、 それをnamae(文字列変数)というに入れる処理の 記述法を知りたい。 これを利用して,word利用中、ツールバーに作った専用ボタンで マクロ起動し、そのファイルをある特定のフォルダ(バックアップ用のサーバ上のフォルダ)へ書き込むことをしたい。 バックアップ用のサーバ上のフォルダ:\\Sh\abc-h_pub$\suzu Sub testacro() 'gennzai_riyou.doc=namae ChDir "\\Sh1\abc-h_pub$\suzu" ActiveWorkbook.SaveAs Filename:= _ "\\Sh\abc-h_pub$\suzu\namae" _ , FileFormat:=xlNormal, Password:="", WriteResPassword:="", _ ReadOnlyRecommended:=False, CreateBackup:=False End Sub ご指導よろしく

  • Access2003 VBAでフォルダを開くには?

    VBA初心者です。 AccessのVBAで、フォルダを開くにはどう書けばよいのでしょうか? Excelのはネットで見つけましたが、Accessで同じ記述をすると コンパイルエラーとなってしまいました。 開きたいフォルダは、C:\ABC というフォルダです。 よろしくお願いします。

  • EXCEL VBAについて

    お世話になります。 EXCEL VBAで指定したフォルダのEXCELブックが1つでもオープンされているかどうか知りたいのですが、可能でしょうか。 よろしくお願いいたします。

  • エクセル VBAの記述 「フォルダーの移動」

    "AAA"と言うフォルダーの中に"BBB"というエクセルブックがあります。 "BBB"を開いて保存するときに別のフォルダー"CCC"に保存するVBAの記述を教えてください。 このとき"AAA"には保存しません。

  • Excel VBA別ブックのシートをコピーするには

    Excel2010のVBAで別ブックのシートをコピーしてくる方法 Excelファイル(C:\test\BOOK2.xls)のシート名が TESTというシートを自分のExcelファイル(C:\doc\BOOK1.xls)に コピーするにはどのように記述すればよいのでしょうか。 ・コピー先:自分のExcelファイル(C:\doc\BOOK1.xls)  VBAのコードがあるファイルです ・コピー元:C:\test\BOOK2.xlsのTESTシート  なお、TESTシートを持つ同じ名前(BOOK2.xls)のファイルが  別フォルダにもあります   Workbooks( )の引数にファイル名(BOOK2.xls)は指定できるのですが、 フルパス名(C:\test\BOOK2.xls)で指定できないので困っています。

  • EXCEL VBAでのWord操作

    ExcelのVBAにて、Wordファイルに挿入されているExcel表を更新したいのですが、 どのように記述すればよりかわかりません。 具体的には以下のとおりとなります。 「在庫.xls」 のセル A1 「照合表.doc」に挿入されているExcel表には「在庫.xls」のセルA1を参照するように記述が 入っています。 「在庫.xls」にコマンドボタン「更新」を作成し、実行すると「照合表.doc」の値が更新されるように マクロを組みたいのですが、どなたか知恵を貸してください。

  • Excel VBA ワークブック閉じる

    ExcelのVBAのコード記述についてなのですが、 ブックを閉じるの動作で、読み取り専用として開いているブックのみを閉じる方法ってあるのでしょうか? 補足ですが、2つブックを開いていて、ブック名も同じ名前で、読み取り専用を名前を付けないように閉じてもう一方のブックが見られる状態にしたいです。

  • excel vba

    テーブル情報に基づきシートをコピーするVBAマクロを記述したい。 ExcelのBook111のSheet1に次のような データが入っています。 (1、2)セルにn=3という数字が入っているものとします。 その数値に合わせて、この場合は3なので Sub Sample01() Workbooks("Book3.xls").Worksheets("booksheet3").Copy After:=Workbooks("Book111.xls").Sheet(1) End Sub のようなつまり、booksheet3なるシートをBook111(固定なBOOK)にコピーしようとしています。 このようなことをVBAで書くにはどうすればいいのでしょうか。 ただしBook名とシート名はあくまでデータの値にもとづいたデータをもってくることになります。 要するに間接参照したデータに基づき処理するのをどのように記述するかという質問です。 A列 B列 1 回数 n=3 2     3     4 Book1.xls book1sheet ←n=1 5 Book2.xls book2sheet ←n=2 6 Book3.xls book3sheet ←n=3 7 Book4.xls book4sheet 8 Book5.xls book5sheet 9 Book6.xls book6sheet ←n=6 10 Abc,xls Defsheet ←n=7

  • Excel VBA で質問です。(ver2007)

    Excel VBA で質問です。(ver2007) 1:ブックのopenメソッド等をVBAから記述することは可能なのでしょうか? 2:ブックのopenメソッドの処理をを新規に作成したブックにコピーすることは可能でしょうか? 以上2点です。よろしくお願いいたします。

専門家に質問してみよう