「access vba word 終了」
「accessvba wordを終了する」
といった検索が行われていました。
Access VBAで、Wordを終了するにはどのようなコードを書けばいいのかを調べていらしたのでしょう。
Wordを終了するサンプルプロシージャ
以下のSubプロシージャを実行してください。
Const wdWindowStateMinimize = 2
Const wdWindowStateNormal = 0
With CreateObject(Class:="Word.Application")
.Visible = True
.Documents.Add
.ActiveWindow.WindowState = wdWindowStateMinimize
.ActiveWindow.WindowState = wdWindowStateNormal
Stop
.Quit
End With
Wordが起動して、Stopステートメントで一旦中断します。
With CreateObject(Class:="Word.Application") .Visible = True .Documents.Add .ActiveWindow.WindowState = wdWindowStateMinimize .ActiveWindow.WindowState = wdWindowStateNormal Stop
その後ショートカットキー[F5]などで再度実行すると、Wordが終了します。
Word.Application.Quitメソッドを呼び出せば、Wordが終了するということです。
Excel VBAでWord文書を閉じるコードをご紹介する記事の中で、Word.Application.Quitメソッドについても触れています。Access VBAからであっても当然同じです。
サンプルプロシージャの補足
上記のSubプロシージャでは、Word.Application.Quit以外のコードも書いてあるので補足しておきます。
実際には、以下のコードだけで、Wordが起動して、Stopステートメントで中断して、終了する様子を観察できます。
With CreateObject(Class:="Word.Application") .Visible = True .Documents.Add Stop .Quit End With
ですが、
With CreateObject(Class:="Word.Application") .Visible = True .Documents.Add
だけでは、WordのウィンドウがAccess等のウィンドウに隠れてしまい、観察し辛いのです。
それを改善するために、Wordのウィンドウを一旦最小化して通常の状態に戻す、
.ActiveWindow.WindowState = wdWindowStateMinimize .ActiveWindow.WindowState = wdWindowStateNormal
を追加しています。
Excel VBAの記事でご紹介している手法です。
この部分を定数を使ったコードにするために、事前に定数を定義しています。
Const wdWindowStateMinimize = 2 Const wdWindowStateNormal = 0
Home » Access VBA » Access VBAでWordを終了する