Home » エクセルマクロ・Excel VBAの使い方 » Office連携 » Excel VBAでWordを開きアクティブにする

Excel VBAでWordを開きアクティブにする

動作検証バージョン:Windows 11 Home + 64bit Excel & Word バージョン 2411(ビルド18217.20000クイック実行)ベータチャネル

「excel vba word 開く アクティブ」
といった検索が、このサイト『インストラクターのネタ帳』で行われていました。

Excel VBAを使ってWord文書を開き、Wordをアクティブにするにはどうすればいいのか、調べていた方による検索でしょうか。

[スポンサードリンク]

Word文書を開いてWordをアクティブにするサンプルマクロ

Windows上でどのアプリケーションがアクティブなのかは、基本的にはWindowsが担う部分ですから、真面目にやろうとすると大変そうですが、2024年10月時点では以下の処理で実現できます。

Cドライブ直下のtempフォルダーにsample.docxを用意しておいて、以下のExcelマクロを実行してください。

Sub Word文書を開いてWordをアクティブにする()
 Const wdWindowStateMinimize = 2
 Const wdWindowStateNormal = 0
 
 With CreateObject("Word.Application")
  .Visible = True
  .Documents.Open "C:\temp\sample.docx"

  .WindowState = wdWindowStateMinimize
  .WindowState = wdWindowStateNormal
 End With
End Sub

Cドライブtempフォルダーのsample.docxが開かれて、Windows上でアクティブな状態になります。

サンプルマクロで行っている処理

以下の部分は、Excel VBAでWord文書を開く定番の処理です。

 With CreateObject("Word.Application")
  .Visible = True
  .Documents.Open "C:\temp\sample.docx"

「excel vba word 開く アクティブ」
に関係するのは、上記の定番処理につづく以下の部分です。

  .WindowState = wdWindowStateMinimize
  .WindowState = wdWindowStateNormal

Wordのウィンドウを一旦最小化しておいてから、元のサイズに戻しています。

この処理を入れることで、Excel VBAで開いたWord文書のウィンドウがアクティブになります。

ここでWordのWdWindowState列挙型に定義されている定数を使ってコードを書くために、

事前に定数を定義しています。

 Const wdWindowStateMinimize = 2
 Const wdWindowStateNormal = 0

最終更新日時:2024-10-29 16:14

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Office連携 » Excel VBAでWordを開きアクティブにする

「Office連携」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.