Excel VBAで表を作成し、Wordで作成した表紙を連携して印刷する際、Wordアプリケーションを正しく終了させることに悩む初心者は多いです。この記事では、Wordのオブジェクト操作の基本とVBAでWordを閉じる方法、よくある表現上の注意点を解説します。
Wordオブジェクトの基本操作
Excel VBAからWordを操作する場合、まずWordアプリケーションのインスタンスを作成します。通常は Set wdApp = CreateObject("Word.Application") を使い、ドキュメントを開いたり印刷したりします。
ドキュメントを閉じる際は、ドキュメントオブジェクトの Close メソッドを使います。また、Word自体を終了するにはアプリケーションオブジェクトの Quit メソッドを呼び出す必要があります。
Wordを閉じる具体的なVBA例
Dim wdApp As ObjectDim wdDoc As Object'Wordを起動Set wdApp = CreateObject("Word.Application")'ドキュメントを開くSet wdDoc = wdApp.Documents.Open("C:\\path\\to\\表紙.doc")'印刷wdDoc.PrintOut'ドキュメントを閉じるwdDoc.Close SaveChanges:=FalseSet wdDoc = Nothing'Wordを終了wdApp.QuitSet wdApp = Nothing
この手順に従えば、Wordドキュメントだけでなく、Wordアプリケーションも完全に閉じることができます。
表現上の注意点
質問文中の「***.docは閉じることは出来るのですがワードは閉じることが出来ません」という表現はやや曖昧です。「Wordアプリケーション自体を終了したい」という具体的な目的を明確にすると、回答が得やすくなります。
また「表紙(***.doc)を印刷できるように改良したのですが」という部分は、VBAで操作していることを明確にすると、読者が理解しやすくなります。
まとめ
Excel VBAからWordを操作する際は、ドキュメントオブジェクトを閉じた後、アプリケーションオブジェクトの Quit メソッドでWord自体を終了させることが重要です。また質問文では、Wordアプリケーションの操作が目的であることを明確に記述すると、回答がより適切に得られます。

コメント