microsoft-excel について
microsoft-excelは、OneDriveまたはSharePoint上のライブExcelブックを扱うスキルです。curlとjqでMicrosoft GraphのブックAPIを呼び出し、ワークシートやセル範囲の確認、クラウドブックの編集を行います。
主な機能
- 01名前によるクラウドブックの検索
- 02ブックのワークシート一覧
- 03使用範囲と指定範囲の読み取り
- 04範囲への値の書き込み
- 05テーブルへの行追加
活用シーン
- 01OneDrive上のブックの確認
- 02セル範囲の値の更新
- 03ブックのテーブルへのレコード追加
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ acedatacloud/ skills --skill microsoft-excelインストール後、Claude Code で/microsoft-excelを入力して読み込まれたか確認します。
詳細
Microsoft Graph ワークブック API を curl + jq で使って、稼働中の Excel ワークブックを操作します。ユーザーの OAuth ベアラートークンは $MICROSOFT_EXCEL_TOKEN に格納されています。すべての呼び出しで Authorization: Bearer $MICROSOFT_EXCEL_TOKEN が必要です。ベース URL:
https://graph.microsoft.com/v1.0。ワークブック API はドライブアイテム(OneDrive/SharePoint 上の .xlsx)を対象とするため、ITEM_ID が必要です。
エラーは {"error":{"code","message"}} の形式です。message はそのまま表示してください。401 はトークンの期限切れ(再インストールが必要)です。書き込み時の 403 は、ユーザーが読み取り専用の権限を付与したことを示します。
G="https://graph.microsoft.com/v1.0"; AUTH="Authorization: Bearer $MICROSOFT_EXCEL_TOKEN"
# Find the workbook by name (then take .id as ITEM_ID)
curl -sS -H "$AUTH" "$G/me/drive/root/search(q='budget.xlsx')" \
| jq '.value[] | {id, name, webUrl}'
# Worksheets in the workbook
curl -sS -H "$AUTH" "$G/me/drive/items/ITEM_ID/workbook/worksheets" \
| jq '.value[] | {id, name, position}'
範囲の読み取りと書き込み
ITEM="ITEM_ID"; WS="Sheet1"
# Used range (values + formulas + formats)
curl -sS -H "$AUTH" \
"$G/me/drive/items/$ITEM/workbook/worksheets/$WS/usedRange" \
| jq '{address, values: .values}'
# Read a specific range
curl -sS -H "$AUTH" \
"$G/me/drive/items/$ITEM/workbook/worksheets/$WS/range(address='A1:C5')" | jq '.values'
# Update a range (confirm first). values is a 2-D array matching the address shape.
curl -sS -X PATCH -H "$AUTH" -H "Content-Type: application/json" \
-d '{"values":[["Q3",1200],["Q4",1580]]}' \
"$G/me/drive/items/$ITEM/workbook/worksheets/$WS/range(address='A2:B3')" | jq '.address'
テーブルへの行の追加
curl -sS -X POST -H "$AUTH" -H "Content-Type: application/json" \
-d '{"values":[["2026-06-21","Acme",4200]]}' \
"$G/me/drive/items/$ITEM/workbook/tables/Table1/rows/add" | jq '.index'
注意事項
- これはクラウド上のワークブック(OneDrive/SharePoint)用です。ユーザーがチャットにアップロードしたローカルの .xlsx は別の作業であり(ファイルを直接解析します)、このスキルの対象ではありません。
- 範囲の
addressはSheet1!A1:C5のような文字列です。ワークシートを指定した場合はA1:C5のみでも指定できます。valuesは、範囲のサイズに合った 2 次元配列である必要があります。 - Graph は長時間の編集にワークブックセッションヘッダー(
workbook-session-id)をサポートしています。少数のセルを編集する場合は、既定のセッションなしモードで問題ありません。
コメント
Markdown 対応