予算ブックには3つのワークシートがあり、財務部は2番目のシートの2つのセルを変更したいと考えています。AI エージェントに「Q3 を更新」するようにブック全体を渡すと、3つすべてを再構築しようとします。ローカルで GroupDocs.Editor MCP サーバーを実行していれば、Claude、Cursor、Copilot が対象のワークシートだけを編集可能な HTML として抽出し、指示どおりに変更を加えて元のブックのコピーに保存するので、他のシートはモデルを通過しません。スライドも同様に動作します。

budget.xlsx のワークシート 2(Q3)で Travel を 12,500 に設定し、Training を「Training (external)」に名前変更してください。他のシートはそのままにしてください。

ステップバイステップのバージョンはドキュメントにあります: How to edit one worksheet or slide and splice it back into the original.

なぜファイル全体をエージェントに渡さないのか?

モデルはワークブック全体を保持できません。保持できるのはテキストだけです。渡したシートはすべて「親切に」再表現される可能性があります:数値の書式が変わったり、数式が値に置き換わったり、理解できなかった列が削除されたりします。何も問題が起きていなくても、返信だけでは判断できません。解決策はスコープを限定することです:エージェントに変更を依頼された部分だけを渡し、残りは手の届かないところに置きます。

その部分の形として HTML が最適です。テーブル、スタイル、フォント、画像がすべて保持され、モデルは読み書きが得意で、元の構造に戻すことが容易です。プレーンテキストでは書式が失われますし、生の .xlsx XML はエージェントが編集すべきでない迷路です。

往復

budget.xlsx  (3 worksheets: Summary, Q3, Q4)
   |-- extract_html {"file":{...},"worksheet":2} --> budget_worksheet2.html
   |        agent edits the HTML: Travel 9000 -> 12500,
   |        "Training" -> "Training (external)"
   '-- save_from_html {"htmlFile":{"filePath":"budget_worksheet2.html"},
                       "format":"xlsx",
                       "sourceFile":{"filePath":"budget.xlsx"},
                       "worksheet":2}
         --> budget-q3-revised.xlsx : worksheet 2 replaced, 1 and 3 untouched
evaluation mode: worksheets/slides 1-2 can be edited; the server refuses 3+

サーバーからの返答

GroupDocs.Editor.Mcp 26.10.0 を合成予算に対して実行した結果:

-> extract_html {"file":{"filePath":"budget.xlsx"},"worksheet":2}
<- Extracted worksheet 2 of 3 of 'budget.xlsx' as editable HTML
   Saved to: …/budget_worksheet2.html
   Next: edit the saved .html and call save_from_html to write it back
   as DOCX, XLSX, PPTX, PDF or another format.
   Preview (plain text): ... Cost centre Planned (EUR) Owner Hosting
   57600 IT Support 14400 IT Travel 9000 Sales Training 6000 HR

-> save_from_html {"htmlFile":{"filePath":"budget_worksheet2.html"},
     "format":"xlsx","sourceFile":{"filePath":"budget.xlsx"},
     "worksheet":2,"outputName":"budget-q3-revised.xlsx"}
<- Saved 'budget_worksheet2.html' into a copy of 'budget.xlsx',
   replacing worksheet 2 of 3 (XLSX)
   Saved to: …/budget-q3-revised.xlsx

結果ファイルを開くとスコープが確認できます。Q3 の Travel が 12500 に、行は「Training (external)」に変更され、Hosting と Support はそのままです。Summary と Q4 も元のままです。元の budget.xlsx は変更されていません。

ツールはシート名ではなく番号でワークシートとスライドを指定します。get_document_info が件数を返すため、プロンプトに「worksheet 2 (Q3)」と書かれています。抽出レスポンスにはプレーンテキストのプレビューが含まれるので、エージェントは編集前に正しいシートかどうか確認できます。また「Next:」行で次に呼び出すべき API が示されます。エージェントはこれらのヒントにうまく従います。スライドの場合、プレビューはマスタのプレースホルダー文字列(例: 「Click to edit Master title style」)で始まることがあるので、エージェントは HTML 本体をチェックすべきです。

スライドとプレゼンテーションの唯一のルール

同じペアがデッキでも機能します:extract_html に "slide": 2 を指定し、編集後に "slide": 2 と元の sourceFile を渡して save_from_html を呼びます。実行例では、3枚のレビュー デッキのスライド 2 が HTML に変換され、“12 percent” が “14 percent” に変わり、review-revised.pptx としてスライド 1 と 3 がそのまま残りました。

PowerPoint では sourceFile が必須です。HTML だけではスライドマスタが含まれないため、サーバーは壊れたデッキを生成せずにエラーを返します:

-> save_from_html {"htmlFile":{"filePath":"review_slide2.html"},
                   "format":"pptx"}
<- Save from HTML failed for 'review_slide2.html' (-> pptx): 'pptx' output
   cannot be created from HTML alone; pass the original document as
   'sourceFile'.

エラーメッセージで不足している引数が示されるので、エージェントは自ら呼び出しを修正します。

往復が find-and-replace を上回るケース

replace_text は単語や名前の置換に向いています。往復はそれ以外のすべてに適します:複数セルの同時変更、ラベルと数値の同時書き換え、スライド上のテーブル再構築、または書式が分割されていて replace_text では検出できないフレーズなどです。エージェントが何を変更すべきか判断する前に、対象部分を読み取る手段でもあります。

書く前に読む

往復の前半だけでも有用です。エージェントに「Q3 の Travel の予定は何か、所有者は誰か?」と尋ねれば、HTML を抽出して回答でき、何も変更しません。また、編集前に必ず「対象部分を読み取り、行う変更を宣言し、最後に書き込む」よう指示してください。その順序をプロジェクト指示に組み込めばデフォルトになります:

To change a worksheet or slide, use the groupdocs-editor MCP server:
extract_html for that one part, edit the HTML, save_from_html with the
original as sourceFile and the same worksheet/slide number. Never rebuild
the whole workbook or deck. Say which cells or text you changed.

最後の一文が最も重要です。「Travel を 9000 から 12500 に変更し、Q3 の Training を名前変更しました」という返信は、レビュアーが数秒でファイルと照合できます。

正直な制限

  • 評価モードでは最初の 2 枚のワークシートまたはスライドしか編集できず、3 枚目は理由とともに拒否されます: 「Evaluation mode edits only the first 2 visible worksheets of a workbook; worksheet 3 is beyond them.」
  • ライセンス未取得の保存はドラフト扱いとなり、編集シートの先頭にバナー行が追加され、ブックには余分な「Evaluation Warning」シートが付加されます。
  • ライセンス未取得で抽出された HTML は同じ評価行で始まります(プレビューに表示)。エージェントはセルだけを編集し、その行は変更しないでください。
  • ワークシートとスライドの番号は 1 から始まり、非表示シートもカウントされます。非表示スライドは showHidden: true が必要です。非表示ワークシートは showHidden の設定に関わらず拒否されるため、事前にブックで表示状態にしてください。

FAQ

シートを1つだけ編集しても他のシートに影響はありますか?
いいえ。編集された HTML は指定したワークシートだけを置き換え、元のファイルのコピーに保存されます。その他は元ファイルからそのまま引き継がれます。

PowerPoint のスライドでも同様にできますか?
はい。"slide" を使用し、sourceFile に元のファイルを渡せば可能です。PowerPoint 出力では sourceFile が必須です。

結果ファイルはどこに保存されますか?
outputName を指定した場合はストレージフォルダー内に新しいファイルとして保存されます(例: budget-q3-revised.xlsx)。元のファイルはそのまま残ります。

さらに詳しく