Home » Python » pywin32・win32comの使い方 » PythonでWordを起動する-win32com.client.Dispatch('Word.Application')

PythonでWordを起動する-win32com.client.Dispatch('Word.Application')

動作検証バージョン:64bit Windows 10 Pro + 32bit Wordバージョン2102 ビルド13801.20360 Microsoft Store)+ Python 3.8.3 + pywin32 228

「python word 起動」
といった検索キーワードで、時折アクセスがあります。

Wordで作られたdocxファイルでちょっとした操作を行うならpython-docxが便利ですが、ワープロソフトMicrosoft Wordを起動する場合はpywin32・win32com.clientです。

pywin32・win32com.clientでWordを操作する

拙著『VBAユーザーのためのPython超入門』でも多用しているIDLEのShellウィンドウで、コードを実行してみましょう。

モジュールのimport

まずはwin32com.clientモジュールのimportです。

>>> import win32com.client

Wordを起動する

続いてWordを起動します。
ただし、起動しただけではWordがパソコンの画面に表示されない点には注意が必要です。

>>> wd_app = win32com.client.Dispatch('Word.Application')

上記のコードを入力して[Enter]キーで実行したあと、次のプロンプト「>>>」が表示されるまで、少し時間があったはずです。

この少しの時間に、表示されていない状態でWordが起動しています。

Wordを表示する

非表示状態では確認し辛いので、以下のコードを実行して表示しましょう。

>>> wd_app.Visible = True

文書の開いていない、空っぽのWordが表示されます。

WordのApplication.VisbleプロパティにTrueを設定することで、

Wordを表示しています。

新規文書を作成する

以下のコードを実行すると、新規のWord文書が開かれます。

>>> wd_app.Documents.Add()

WordのDocuments.Addメソッドで、

新規Documentオブジェクトを作成しているコードです。

Wordを終了する

Wordを終了するなら以下のコードです。

>>> wd_app.Quit()

WordのApplication.Quitメソッドを実行することで、

Wordを終了できます。

VBAのコードとよく似ている

上記のコードをまとめると以下のとおりです。

>>> import win32com.client
>>> wd_app = win32com.client.Dispatch('Word.Application')
>>> wd_app.Visible = True
>>> wd_app.Documents.Add()
>>> wd_app.Quit()

COMアプリケーションのひとつMicrosoft Wordを、Pythonを使って操作してるだけですから、VBAからWordを操作するコードと似ています。以下のようなコードをVBEのイミディエイトウィンドウで実行するのと、よく似ています。

Set wd_app = CreateObject("Word.Application")
wd_app.Visible = True
wd_app.Documents.Add
wd_app.Quit

Word起動するまでは違いますけれど、変数wd_appにWord.Applicationへの参照を取得した後は、プログラミング言語PythonとVBAの違いはあるものの、ほとんど同じです。

オブジェクトブラウザーを使えるWord VBA経験者には、それほど難しくはないはずです。

最終更新日時:2023-04-21 12:04

[スポンサードリンク]

Home » Python » pywin32・win32comの使い方 » PythonでWordを起動する-win32com.client.Dispatch('Word.Application')

「pywin32・win32comの使い方」の記事一覧

検索


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

.