Communitygithub.com

cli-anything-wps — WPS Office CLI(JSON駆動PPT自動生成+コマンドライン操作)

WPS OfficeのCOM自動化インターフェースを利用して、WPS Writer(文書)、WPS Calc(表計算)、WPS Impress(プレゼンテーション)をコマンドラインから操作できるツールです。特にJSONデータ駆動によるPowerPoint自動生成ワークフローが特徴です。

cli-anything-wps — WPS Office CLI(JSON駆動PPT自動生成+コマンドライン操作) とは?

このスキルは、WPS OfficeのCOM自動化を介して、WPS Writer、WPS Calc、WPS Impressをプログラム的に操作するコマンドラインツールです。主なワークフローは「データ検索 → matplotlibグラフ生成 → JSONデータ設計 → WPS COMによる自動PPT生成」で、特に大量のプレゼンテーション資料をテンプレートベースで高速作成する際に威力を発揮します。16以上の実績ある事例(大学紹介など)を参考に、12〜15ページの構造化されたスライドを出力可能です。CLIはサブコマンドで階層化され、ドキュメント管理、Writer操作、Calc操作、Impress操作、スタイル管理、デザインプリセット、エクスポート、セッション管理などをカバー。JSONモードに対応しているため、AIエージェント(Claude Codeなど)からも容易に呼び出せます。プラットフォームはWindowsのみ、Python 3.10+とpywin32が必要です。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/yb2460/harness-anything/tree/master/cli_anything/wps/skills

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

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

ドキュメント

cli-anything-wps

COM 自動化インターフェースを介して WPS Office を操作するコマンドラインツール。WPS Writer(文書)、WPS Calc(表計算)、WPS Impress(プレゼンテーション)をサポートします。

前提条件

  • Windows オペレーティングシステム
  • WPS Office(インストール済み、バージョン 12.0 以上)
  • Python 3.10 以上
  • pywin32: pip install pywin32

インストール

pip install -e .
cli-anything-wps --help

JSON データ駆動 PPT 自動生成 ⭐ 本番環境コアワークフロー

これが最もよく使われるモードです。データ検索 → matplotlib グラフ生成 → JSON 記述 → WPS COM ワンクリック生成。

完全な流れ(6 ステップ)

1. テンプレート背景抽出: テンプレート.pptx → template_bg.png (960x540)
2. Web検索でデータ収集: 入学スコアライン/学科ランキング/募集計画/研究データ
3. matplotlib でグラフ生成: 棒グラフ/円グラフ/折れ線グラフ/横棒/バブルチャート
4. data.json の記述: 12-15 ページの elements[] 配列(タイトル最大4文字+スペース≥24pt)
5. python build_xxx.py: WPS COM でページごとに構築
6. 出力: PPTX + PDF の2形式

標準ページ順序

S1 表紙 → S2 目次 → S3-S10 コンテンツページ(図+表+カード) → S11 サマリーカード → S12 謝辞

要素タイプルーティング

type用途
textテキストボックス
image画像(matplotlib グラフ含む)
tableテーブル
cards_2x32行×3列のカラフルカード
cards_1x4_info4列の数字統計カード
card_list_wide目次番号リスト
tagline_barページ下部サマリーバー

重要な制約 ⚠️

  • タイトルとコンテンツの間隔: タイトル y=14, h=40(終了 y≈54)、最初のコンテンツ要素は y≥76-78 から開始(24pt 以上のギャップ)
  • タイトルは最大4文字、中央揃え、SimHei 40-44pt、ブランドカラー、装飾線なし
  • JSON 内の中国語引用符: テキスト内の引用は「」を使用("" の代わり)
  • すべての要素はキャンバスからはみ出さない: 960×540、y+h≤518
  • WPS COM: Fill.ForeColor.RGB、SaveAs(path, 32) で PDF エクスポート
  • 実行前のクリーンアップ: taskkill //F //IM wps.exe //T

参考事例

WPS/ ディレクトリ内の 16 プロジェクト:

プロジェクトページ数テーマ
清華協和/蘭州大学/同済医学院/哈工大/重慶大学/南華大学12 ページ各大学募集
中山大学/中科大/国科大15 ページ名門大学募集
復旦大学12 ページ新工科+医学院
南科大腫瘍病院12 ページ共同大学院プログラム
北京大学/清華大学/南科大/華中科技大学/浙大城市学院9-14 ページ各大学紹介
# 完全な実行例
python -c "import zipfile; ..."  # テンプレート抽出
python gen_charts.py              # グラフ生成
python -c "import json; json.load(open('data.json','r',encoding='utf-8'))"  # JSON 検証
taskkill //F //IM wps.exe //T
python build_xxx.py               # PPTX+PDF 構築

CLI コマンド構造

wps
├── document          # ドキュメント管理: new/open/save/info
├── writer            # Writer: add-paragraph/heading/list/table/image
├── calc              # Calc: set-cell/get-cell/set-range/merge-cells
├── impress           # Impress: add-slide/remove-slide/set-content/add-element
├── style             # スタイル: create/modify/list/apply/remove
├── preset            # デザインプリセット: list/info/apply
├── export            # エクスポート: render output.pptx -p pptx
└── session           # セッション: status/undo/redo/history

使用例

# ドキュメント作成
cli-anything-wps document new --type writer --name "レポート" -o report.json
cli-anything-wps --project report.json writer add-heading -t "年間報告" -l 1
cli-anything-wps --project report.json export render report.docx -p docx

# JSON モード(エージェント向け)
cli-anything-wps --json document new --type writer --name "test"

デザインプリセット

プリセットカラー適用シーン
academicダークブルー #1A3C8B学術発表/基金申請
consultantダークブルー #003366+ブライトシアンコンサルティングレポート
businessビジネスブルー #005294会議報告/教材
techニアブラック #0F1423テクノロジー/AI/データレポート

品質レビュー(5 軸)

軸チェック項目しきい値
visualフォント階層/コントラスト/余白70 点
pedagogyナラティブアーク/前提知識75 点
proofreadingスペル/用語/はみ出し80 点
parityPPTX/PDF 一貫性85 点
substanceデータ正確性/引用90 点

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

関連スキル