0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

「会話するだけでマクロが直る」は「会話するだけですごいマクロが作れる」だった話

0
Posted at

はじめに

いま、私の画面は左右に割れています。左半分に Excel。右半分に Claude Code。左のブックは開いたままで、私はセルを選んだり書式を整えたりしながら、右の AI と日本語でやり取りしています。

以前、マクロ一覧の [AI修正] ボタンを押すと会話もいらずにマクロが直って戻ってくる、という話を書きました。

(また「AI要約説明」の予告を一回飛ばします。すみません、その前にどうしても書いておきたい夜があったのです。)

今回はその続きにあたる発見の話です。結論を先に言うと、「直る」は入口にすぎませんでした。ある夜の作業を最初から最後まで記録して、それが分かった顛末を書きます。コードはほとんど出てきません。出てくるのは、会話です。

01.png

TL;DR

  • 開いたままの Excel に AI が相乗りして、「いま私が選択しているセル」を読みながら会話で作業を進めました
  • セルの中身から会話ログの保存名の不具合が見つかり、原因を追わせたら、AI がログの0.8秒の差を物証に真犯人(保存処理の並走)を挙げました
  • ついでに見つかった二重保存は延べ100枚超。本文の完全一致だけを根拠に掃除して、会話は1件も失わずに片付きました
  • Excel 側には「シートごとにサブフォルダを除外する設定」が増えました。マクロの追加は実質1行。セルの書式は私が手で整え、AI はそれをスクリーンショットで見て取説を書きました
  • この作業の全部が、ブックを閉じずに進んでいます。閉じたファイルを渡す方式では、この会話は成立しません
  • 「AI は VBA の知識が豊富」は誰でも気づきます。本題はその先で、開いたまま会話しながら作ると、人が書かなかった水準の道具に育つ、という話です

「今開いているExcelファイル、わかりますか?」

夜中の作業は、この一言から始まりました。

AI の返事は2つのファイル名でした。ファイル管理ツールの「ファイル一覧.xlsm」と、アドインです。続けて聞きます。「今選択しているセルの内容、わかりますか?」──返ってきたのは、会話シートの B25 と、その中身でした。

私の道具には「会話」というシートがあって、AI との会話ログが自動保存されるフォルダの一覧が出ています(この仕組みは後で説明します)。B25 に入っていたのは、こういうファイル名でした。

2026-07-30 12-03 UCY3-c_5i-r-4gYzv89emvrw.md

「内容を見て気づきませんか?」と振ると、AI は周辺のセルを読んで、同類を並べてきました。YouTube のチャンネル ID がそのままファイル名になっているもの。httpsyoutu.be で始まるもの。URL を貼って始めた会話は、URL がそのまま題名になっていたのです。一覧から中身が読めません。

ここまでで数往復。ファイルを開き直した回数は、ゼロです。

会話ログの保存箱と、名前の直し方

仕組みを先に説明します。私の環境では、Claude Code の会話が終わるたびに、フックで Python スクリプトが走り、会話全文が Obsidian の保管庫に 1 会話 = 1 枚の Markdown として保存されます。ファイル名は「日付 時刻 タイトル」。タイトルは AI が付けますが、付け損なったときは先頭の発言の抜粋が使われます。URL だけ貼って始めた会話は、この抜粋が URL になる──それが B25 の正体でした。

直し方は会話で決めました。タイトルの材料から URL と ID を外す。発言が「解説して保存してください」のような定型だけなら、何の話かは AI 側の返事に出ているので、そちらから起こす。AI がその場でスクリプトを直し、過去の実データ 16 件で判定だけ試してみせます。

旧 2026-07-30 12-03 UCY3-c_5i-r-4gYzv89emvrw
新 2026-07-30 12-03 こちらのチャンネルの動画をすべて保存して、内容を

読める名前にはなりました。ここで私が「まず、選択しているセルの分だけ変えてみてください」と指示して 1 件だけ実ファイルを付け替えたところで──話が思わぬ方向に曲がります。

同じ日時の会話ログが、もう 1 枚あったのです。しかも中身は同一で、そちらには「官僚業務の実態と方向性」という、ちゃんとした題名が付いていました。URL 名のファイルは、名前が悪かったのではなく、同じ会話が二重に保存されていた片割れでした。

「原因は分かっていないといけません。それが仮面デカの宿命です」

重複の掃除だけして先へ進むこともできました。そこで出たのがこの節の見出しの一言です(仮面デカというのは、私の自作動画シリーズの探偵キャラです)。原因が分からないまま掃除しても、また積もる。だから追ってください、と。

AI は設定ファイルとログを読み、数分で物証を出してきました。保存ログの、この 2 行です。

2026-07-30T14:43:14.868  sync    :: wrote=1 :: 689eabe8-….jsonl
2026-07-30T14:43:15.671  session=7e25ed71 :: wrote: …YouTubeチャンネル動画一括保存.md

差は 0.8 秒。会話の保存処理は 2 系統あって(終了時に走るものと、次の起動時に取りこぼしを回収するもの)、セッションを閉じて次を開くと、この 2 つがほぼ同時に走る。同じ会話を掴む。片方は URL の抜粋名、もう片方は AI が付けた良い名前。互いの結果を知らないまま、それぞれ 1 枚ずつ書く──二重保存の真犯人は、この並走でした。おまけに片方が名乗るセッション ID は実在のファイルと一致しない幽霊 ID で、旧名を消す後始末が空振りしていたことまで割れました。

02.png

対策も会話で決めて、その場で入れました。書き出しをロックで直列化する。書き出すときに、同じ開始日時で本文が丸ごと一致する古い 1 枚を回収する。起動時の回収処理が長すぎてロックを取り損ねるので、1 回あたりの仕事を削って 54 秒を 14 秒にする。入れたあと、わざと 2 系統を同時に走らせる再現テストまでやって、新しい重複が出ないこと、逆に古い重複が回収されることを確かめました。

そして全体を数えさせたら、二重保存は URL 名のファイルどころではありませんでした。**72 グループ・94 ペア。**大半は「まともな題名どうし」の重複だったので、今まで気づかなかっただけでした。見出し 1 行を除いた本文の完全一致だけを根拠に 83 枚を一括削除し、先に手で消した分と合わせて延べ 100 枚超。残った会話ログは 179 枚。中身が同じものしか消していないので、会話は 1 件も失われていません。

セルの中身への雑談みたいな一言から、真犯人と再発防止まで。ここまでで、たぶん 1 時間くらいです。

Excel 側は 1 行 ── ただし正解は私が出した

掃除が終わって一覧を取り直すと、今度は Obsidian の設定ファイルが 10 件、一覧の先頭に並びました。保管庫フォルダの中に .obsidian という設定フォルダがあり、一覧マクロはサブフォルダまで拾うからです。

AI は「一覧側で除外してはどうか」という筋の提案をしてきたので、待ったをかけました。「それは根本を変えるということですよ」──一覧は、そこにあるものを正直に出す道具です。10 年以上そのルールで育ててきた。表示が気に入らないからと道具の原則を曲げるのは、本末転倒です。

ではどうするか。**シートごとに、そのシートだけサブフォルダを拾わない設定を持てるようにする。**これは AI の案ではなく、私が出した答えです。全体のルールは変えない。各シートが自分の事情を自分で持つ。マクロへの追加は、実質この 1 行でした。

If ActiveSheet.Range("M1").Value = 1 Then SKIP_SUB = True

ここからの分業が、今回いちばん書きたかった場面です。AI が最初に置いた設定セルに、私が注文を付けます。「数字を入れるだけでは分かりません。L1 に『サブ除外』とラベルを書いて、M1 に入力する形にしてください」。AI が置き直す。今度は私がマウスを握って、既存のラベルと同じオレンジ塗りと罫線に、その場で書式を整える。「もう少し形を整えました。よく見てください」と言うと、AI は開いているシートをスクリーンショットで撮って、私が整えた形を確認し、「取説シートの 11 番に説明を足してください」の指示で、既存の 10 項目と同じ型のマニュアルを書き足しました。

正直に言えば、セルの書式程度は「ほとんど私がやった方が早い」のです。実際そう言いました。でもそれでいい。**速い方がやればいい。**私はセルと書式を直し、AI はコードとログと文書を直す。同じブックを、両側から同時に触っているのですから。

ついでの小技をひとつ。修正のたびに一覧を全部取り直すと並び順が変わって、何が変わったのか目で追えなくなります。だから 1 件だけの修正のときは、AI にはセルの書き替えや行削除だけをさせて、並びを保たせました。人間が画面で確認できる形を保つ──これも運用の正解の一つで、コードのどこにも書いていません。

閉じたファイルでは、この会話は成立しない

さて、ここまでの数時間を成立させていた前提を、あらためて書きます。ブックは一度も閉じていません。

AI に Excel を触らせる方法は世の中にいろいろありますが、見かけるやり方の多くは「閉じたファイルを渡して、処理して、返してもらう」形です。ライブラリの都合でそうなります。それが悪いとは言いません。無人で大量のファイルをさばくなら、むしろそちらが正解です。

ただ、閉じたファイルを渡す方式は、たとえるなら調書だけ渡される探偵です。現場には入れない。「いま私が選択しているセル」も「たった今この手で整えた書式」も、調書には載りません。事件が終わってから、書類で報告を受けるだけです。

今回の AI は、現場に居ました。私が B25 を見ていれば B25 を読み、次に B37 に移れば B37 を読み直す。私が書式を整えれば、その画面を撮って確認する。修正はその場で実行されて、結果は 1 秒後に私の目の前のシートに出る。**「会話しながら直す」は、AI が現場に居るときにだけ成立します。**私の道具(VBAマネージャー・GitHub で公開しています)が最初から「開いたままのブックに相乗りする」設計なのは、このためです。

「直る」は入口だった

それで、表題の話です。

[AI修正] ボタンの記事を書いたとき、私が売りにしたのは「直る」でした。壊れたマクロがボタン一つで直って戻ってくる。それだけでも十分に事件でした。

でも、この夜の作業を振り返ると、起きていたのは修理ではありません。会話ログの保存系は原因ごと直り、再発防止とテストまで付きました。Excel には新しい設定機構が 1 行で生えて、マニュアルまで揃いました。どれも「作れ」と設計書を渡した覚えはなく、セルを眺めての雑談から始まって、会話の往復の中で形になったものです。

AI が VBA や Windows の知識を大量に持っていること自体は、もうみんな知っています。実際、私のファイル一覧の心臓部のフォルダ走査は、AI と組んで書き直してからは Windows API を直接呼ぶ非再帰方式で回っていて、事務員の独学 VBA では到達しなかった水準のコードです。でも、知識の豊富さは入口にすぎません。一発の指示で出てくるのは、よくできた既製品です。会話しながら作ると、道具は既製品ではなく、その現場の形に育ちます。「一覧は正直に出す道具」「並びは変えない」「ラベルがなければ分からない」──そういう、コードのどこにも書いていない家のルールが、往復のたびに焼き込まれていくからです。

前に「技術の正解と運用の正解は別物」と書きました。今回それに一つ足すなら、こうです。運用の正解を渡す一番速い手段は、仕様書ではなく、現場での会話でした。

事実と見立ての仕分け

例によって仕分けます。

事実:この記事の作業が 2026 年 7 月 31 日未明の 1 セッションで行われたこと(会話ログが残っています。今夜からは 1 枚だけ)。保存ログの 0.8 秒差と並走の再現テスト。重複 72 グループ・94 ペア、一括削除 83 枚、掃除後 179 枚(数字は公開前に再確認します)。マクロへの追加が実質 1 行であること。作業中ブックを閉じていないこと。

見立て:AI に Excel を触らせる公開事例の多くが閉じたファイル方式だ、という観測(網羅調査ではありません。この領域の地図は前に測りました=リンクは掲載順確定後に差し替え)。「会話しながら作ると道具が現場の形に育つ」という主張そのもの。

正直な線引き

開いたまま方式は万能ではありません。COM で操作できるローカルの Excel と、画面の前に人間が居ることが前提です。無人のバッチ処理や、大量ファイルの一括変換なら、閉じたファイルを渡す方式が向いています。今回の Obsidian 側の修正も Python スクリプトの話で、VBA だけで閉じた話ではありません。それから、この「ファイル一覧」ブック自体は以前書いたとおり未公開のままです。

あと、白状しておくと、この夜の冒頭で私は AI の返事の遅さに小言を言っています。会話で作るというのは、そういう遠慮のない距離感も込みです。

おまけ ── 動画にもなりました

冒頭でリンクした「会話するだけでマクロが直る」開発環境の話は、3分半の動画にもしてあります。合成音声のキャラクター二人が掛け合いで解説する形式です。

そして白状ついでに書いてしまうと、この動画自体も、AI との会話でほぼ自動で組み上がったものです。台本のテキストを 1 枚書けば、音声合成から立ち絵、映像の組み立てまで、AI と一緒に育てたパイプラインが走ります。**「会話するだけで作れる」のは、マクロだけではありませんでした。**この制作の仕組みの話も、いずれ書くかもしれません。

おわりに

探偵は現場に居ないと仕事になりません。調書をどれだけ積んでも、0.8 秒の物証は現場のログの中にしかありませんでした。

AI を現場に入れる線を 1 年引き続けてきて、この夜、その線の先に「直る」ではなく「作れる」が待っていたことが分かりました。次はいよいよ、何度も予告している「AI要約説明」を書きます。たぶん。

1.png

現場からは以上です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?