texiaoyao/office-automation

Word および Excel ファイルを自動処理します。Python スクリプトを使用して、ドキュメントやテーブルの読み取り、書き込み、フォーマットを行います。バッチ処理、テンプレートへのデータ入力、データ抽出、フォーマット変換をサポートします。

office-automation とは?

このスキルは、Word と Excel ファイルの自動処理を実現するための強力なツールです。Python スクリプトを用いて、ドキュメントやスプレッドシートの読み取り、書き込み、フォーマット変更をプログラムで実行できます。バッチ処理により複数ファイルを一度に処理できるほか、テンプレートへのデータ自動入力、特定データの抽出、異なるフォーマット間の変換(例:Word から PDF、Excel から CSV など)もサポートします。このため、定型業務の効率化や大量データの処理が求められるシナリオで特に有用です。Claude Code, Cursor, Codex などの AI エージェントと連携して、ユーザーの指示に基づき自動化タスクを実行できます。主に python-docx や openpyxl などのライブラリを活用し、ファイル操作を安全かつ効率的に行います。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/texiaoyao/office-automation-skill/tree/main/skills/office-automation

Installed? Explore more 生産性&コラボレーション skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

office-automation は何をしますか?

Word および Excel ファイルを自動処理します。Python スクリプトを使用して、ドキュメントやテーブルの読み取り、書き込み、フォーマットを行います。バッチ処理、テンプレートへのデータ入力、データ抽出、フォーマット変換をサポートします。

概要

このスキルは、一般的なオフィス文書(Word の .docx、Excel の .xlsx)をプログラムで操作するための機能を提供します。以下の操作を自動化できます:

  • 読み取り: 文書やセルからテキスト、テーブル、画像などのコンテンツを抽出します。
  • 書き込み: 新しい文書やシートを作成し、データを挿入します。
  • フォーマット: フォント、色、罫線、配置などのスタイルを設定します。
  • バッチ処理: 複数のファイルを一度に処理します。
  • テンプレートへのデータ入力: 特定のプレースホルダーを実際のデータで置き換えます。
  • データ抽出: 条件に基づいてセルや行からデータを抽出します。
  • フォーマット変換: 異なるオフィス形式間(例:Word ↔ PDF、Excel ↔ CSV)でファイルを変換します。

使用例

Word の操作

from docx import Document

# 文書を開く
doc = Document('template.docx')

# プレースホルダーを置き換える
for paragraph in doc.paragraphs:
    if '{{name}}' in paragraph.text:
        paragraph.text = paragraph.text.replace('{{name}}', '山田太郎')

# 新しい段落を追加
doc.add_paragraph('これは自動生成された段落です。')

# 保存
doc.save('output.docx')

Excel の操作

from openpyxl import load_workbook

# ワークブックを開く
wb = load_workbook('data.xlsx')
ws = wb.active

# セルに値を書き込む
ws['A1'] = '名前'
ws['B1'] = '年齢'
ws['A2'] = '鈴木一郎'
ws['B2'] = 30

# 複数のセルを更新
for row in ws.iter_rows(min_row=2, max_row=10):
    for cell in row:
        if cell.column == 2 and cell.value:
            cell.value = int(cell.value) + 1

wb.save('updated.xlsx')

バッチ処理の例

import os
from pathlib import Path

input_dir = Path('./input_files')
output_dir = Path('./output_files')
output_dir.mkdir(exist_ok=True)

for file_path in input_dir.glob('*.docx'):
    doc = Document(str(file_path))
    # 処理を実行
    # ...
    output_path = output_dir / f'processed_{file_path.name}'
    doc.save(str(output_path))

注意事項

  • このスキルは、python-docx や openpyxl などのライブラリを使用します。必要に応じてインストールしてください。
  • 大量のファイルを処理する場合は、メモリ使用量に注意してください。
  • テンプレートファイルは事前に準備しておく必要があります。
  • フォーマット変換には追加のライブラリ(例:pdfkit、pandas)が必要になる場合があります。

関連スキル