MS Word ドキュメントの特定の場所に (Word のコメント機能を使用して) プログラムでコメントを挿入する方法を探しています。MS Word 標準形式の最近のバージョンで使用でき、Windows 以外の環境 (理想的には Python および/または Common Lisp を使用) で実装可能なアプローチを好みます。OpenXML SDK を見てきましたが、解決策が見つからないようです。
2 に答える
これが私がしたことです:
- 単語を使って簡単なドキュメントを作成します(つまり、非常に小さいドキュメント)
- Wordにコメントを追加する
- docxとして保存します。
- Pythonのzipモジュールを使用してアーカイブにアクセスします(docxファイルはZIPアーカイブです)。
- エントリ「word/document.xml」の内容をアーカイブにダンプします。これは、ドキュメント自体のXMLです。
これにより、何をする必要があるかがわかります。その後、PythonのXMLライブラリの1つを使用してドキュメントを解析し、変更して、拡張子が「.docx」の新しいZIPアーカイブに追加し直すことができます。元のZIPから1つおきのエントリをコピーするだけで、新しい有効なWordドキュメントが作成されます。
役立つかもしれないライブラリもあります:openxmllib
これがサーバー側 (非対話型) の場合、Word アプリケーション自体の使用はサポートされていません (ただし、これは適用されません)。したがって、その方法を取るか、OpenXML SDKを使用して、コメントの作成に必要なマークアップを学習してください。その知識があれば、データを操作することがすべてです。
.docx 形式は、構造が定義された XML ファイルの ZIP です。したがって、ほとんどの場合、ZIP に入って適切な XML ファイルを取得すると、XML DOM を変更するだけの問題になります。
最善の方法は、docx を取得してコピーし、(Word を使用して) コメントを追加して比較することです。diff は、SDK (または ISO/Ecma 標準) で検索する必要がある要素/構造の種類を示します。