非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

【Python】Microsoft Wordに文字を入力して装飾してみた(win32com編)

      2024/11/14

Python を使って Microsoft Word を制御する方法をご紹介します。業務の自動化や作業効率の向上を目指している方にはとても便利な技術です。具体的には、Pythonから既存のWordファイルを開いて、文字入力や装飾を行う方法を解説していきます。

事前準備:必要なパッケージのインストール

まず、WordをPythonから操作するために win32com パッケージを利用します。このパッケージは pywin32 というライブラリに含まれているため、以下のコマンドでインストールしましょう。

pip install pywin32

 

PythonでWordを操作する基本コード

それでは、Pythonを使って既存のWordファイルを開き、文字の入力や装飾を行う方法を見ていきましょう。以下にサンプルコードを用意しました。

import win32com.client

# Wordアプリケーションを起動
word = win32com.client.Dispatch("Word.Application")

# Wordを表示 (非表示にしたい場合は False)
word.Visible = True

# 既存のWordファイルを開く (ファイルパスを指定)
doc = word.Documents.Open(r"C:\Users\satos\Dropbox\_Source\Python\Word\文書1.docx")

# 1. 文字の入力
selection = word.Selection
selection.TypeText("こんにちは、PythonからWordを制御しています!")

# 2. 文字の装飾(フォントサイズ、太字、色など)
selection.Font.Size = 16               # フォントサイズを16に設定
selection.Font.Bold = True             # 太字に設定
selection.Font.ColorIndex = 6          # フォント色を黄色に設定 (6: 黄色)

# 3. 改行
selection.TypeParagraph()

# 4. 次の行に別の文字を入力
selection.TypeText("こちらは装飾したのテキストです。")

# 5. ファイルの保存と終了
doc.Save()  # 上書き保存
# doc.SaveAs(r"C:\path\to\your\new_document.docx")  # 新しいファイルとして保存
doc.Close()
word.Quit()
 

 

コードの解説

  • win32com.client.Dispatch(“Word.Application”):Wordアプリケーションを制御するためのオブジェクトを作成します。
  • word.Visible = True:Wordのウィンドウを表示します。非表示にしたい場合は False を設定してください。
  • word.Documents.Open():指定したパスのWordファイルを開きます。ファイルパスは適宜ご自身の環境に合わせて変更してください。
  • selection.TypeText():現在のカーソル位置に文字を入力します。
  • selection.Font.Size:フォントサイズを変更します。
  • selection.Font.Bold:太字の設定です (True で有効、False で無効)。
  • selection.Font.ColorIndex:フォントの色を変更できます(例えば、6は黄色、3は赤など)。
  • selection.TypeParagraph():改行します。
  • doc.Save():変更内容を上書き保存します。
文字の装飾オプション一覧

以下は、文字装飾に使えるオプションの一覧です。

  • Font.Size:フォントサイズ(数値で指定)
  • Font.Bold:太字(True または False)
  • Font.Italic:斜体(True または False)
  • Font.Underline:下線(True または False)
  • Font.ColorIndex:色(0: 自動, 1: 黒, 2: 青, 3: 赤, 4: 緑, 5: 紫, 6: 黄色)

実行結果

こちらが実行結果です。コードでは selection.Font.Size = 16 でフォントサイズを指定し、 selection.Font.Bold = True で太字、 selection.Font.ColorIndex = 3 で赤色に設定しているのが反映されています。このようにPythonからWordを操作することで、テキストの自動入力や装飾が可能です。

 

まとめ

PythonからMicrosoft Wordを操作することで、日々のドキュメント作成作業を大幅に効率化できます。ぜひご自身のプロジェクトや業務で活用してみましょう!

 

スポンサーリンク

 - Python