CopilotにListViewを相談したら絶望した話|64bit VBAの壁

今回の業務内容とテーマ

今回も、Excelの実務で実際にCopilotを使って解決…できなかった案件です。

テーマは少しレベルアップして 一覧表示UIの強化 です。

これまで作ってきたコンボボックス連動だけでも実務では十分使えますが

・一覧で見たい
・複数項目を同時に確認したい
・表形式で操作したい

こういう要望、ほぼ確実に出ます。

そこで候補に上がるのが ListView です。

ただしここで、思わぬ壁にぶつかります。

64bit VBA問題 です。

【注意】64bit VBA問題 環境によって異なります

Microsoft365の64bitでは、2017年7月19日の更新プログラムで、mscomctl.ocx のサポートが追加されています。

2017 年の月次チャネル リリースのリリース ノート

Office スイート: セキュリティ以外の更新プログラム

  • mscomctl.ocx の 64 ビット サポートを追加します。これにより、Office の 64 ビット バージョンで作業しているユーザーがコモン コントロールの含まれるマクロ ファイルを作成、編集、また開くことができるようになります。
  • mscomctl.ocx で使用されているコントロールのアクセシビリティを向上させます。

バージョン 1706: 7 月 19 日

バージョン 1706 (ビルド 8229.2103)

今回はExcel2013という古いバージョンを未だに利用している、私個人の戦いのお話です。
でも、Copilotからは1706の更新プログラムの話は一切出てきませんでした・・・なぜ???

実際のCopilotとのやり取り

ここからスタートです。シンプルに聞きました。

利用者 → Copilot

Excel VBA 64bitでListViewを使えるようにしたい。
ツールボックスにListViewが出てくる方法を教えてください。

正直、この時点では「ちょっと設定すればいけるでしょ」くらいの感覚でした。

CopilotにListViewを相談したら絶望した話|64bit VBAの壁

■■■スポンサーリンク■■■

Copilot → 利用者

結論からお伝えします。

Excel VBA 64bit環境では、標準のListView(MSCOMCTL.OCX)は正式には使用できません。

これはMicrosoftが明確に仕様として定義している制限によるものです。

■理由
・MSCOMCTL.OCXは32bit専用のActiveXコントロール
・64bit版Officeは32bit ActiveXを読み込めない つまり、通常の方法ではツールボックスにListViewは表示されません。 ■現実的な選択肢 ① ListViewを使わない(推奨)
・ListBoxで代替(複数列表示)
・シンプルで安定
・全PCで動作する ② 外部UIを使う
・.NET(WinForms / WPF)で画面を作成
・Excelから呼び出す
・ただし難易度が高い ③ 自作ListView(VBAで描画)
・完全自作
・かなり工数がかかる ■どうしても使う場合(非推奨) 以下の手順で“動く可能性”はありますが、保証はありません。 ・C:\Windows\SysWOW64 に MSCOMCTL.OCX を配置
・管理者で regsvr32 実行 ただし以下の問題があります
・他PCで動かない
・イベントが正常に動かない
・クラッシュリスクあり 結論として、実務ではListViewは使用しない設計を推奨します。

この瞬間の正直な感想

これ、かなり衝撃でした。

完全に詰みです。

・使えない(公式)
・代替は微妙
・動いても保証なし

つまり「やるな」と言われている状態です。

でも現場の感覚としてはこうなります。

・ListBoxだと見づらい
・列幅調整が面倒
・UIがしょぼい

つまり やっぱりListView使いたい になります。

ここで一度整理

今回わかったことはシンプルです。

技術的にはNG
でも業務的には必要

このズレです。

実務って、こればっかりです。

そして重要なのは 「正解」ではなく「落としどころ」 を探すことです。

それでもListViewを使いたい理由

ここはかなり大事です。

なぜここまでこだわるのか。

理由は4つあります。

・今まで32bitでListViewを使ってきたので現場からのリクエストが強い
・表形式で直感的に見える
・列ごとに意味を持たせられる
・ユーザーが迷わない

つまり UIの完成度が段違い なんです。

特に今回のような

・調査票
・項目
・品目
・アイテム

みたいな多階層データは、一覧で見せた方が圧倒的に分かりやすいです。

Copilotとのやりとりで見えたこと

今回のやり取りで見えたのは、AIは「正しいこと」を言う という点です。

でも現場では 「正しい=使える」ではない ことも多いです。

ここが重要です。

AIは止めてくる
人はやりたくなる

このギャップをどう埋めるかが実務です。

今回はあえて進む

ということで今回の結論です。

自己責任でListViewに挑戦します!

もちろんリスクは理解した上です。

・環境依存あり
・動かない可能性あり
・配布に注意

それでも、やってみないと分からない!

次回やること

ここからが本番です。

次回は、ListViewを無理やり使う方法を検証していきます。

・MSCOMCTL.OCX登録の実践
・ツールボックスへの表示
・実際に配置できるか
・イベントは動くのか

このあたりをリアルに検証していきます。うまくいく保証はありません。

まとめ

今回は、ListViewが使えないという現実にぶつかりました。

正直、ここで諦めるのが正解です。

でも実務では「できません」で終われないことも多いです。

だからこそ

・仕様を理解する
・リスクを把握する
・その上で挑戦する

この流れが重要です。

今回のポイントは AIの回答をそのまま受け入れない ことです。

正しい情報は大事です。

でも、それをどう使うかは別です。

ここから先は 「作る」ではなく「試す」 フェーズに入ります(笑)

■■■スポンサーリンク■■■

リンク

ChatGPTでExcel VBAマクロを自動生成してみた|初心者でも使える実践手順
Excel VBAのエラー修正をChatGPTに頼んだら原因が一発で分かった話
仕様が曖昧でもOK?ChatGPTにExcel VBAを作らせてみた結果
ChatGPTに作らせたExcel VBAコードは安全?使う前に確認すべきポイント
Excel VBA初心者がChatGPTを使うと挫折しにくくなる理由
CopilotでExcel作業はどこまで効率化できる?実務で使ってみた結果
Copilotに仕事を任せてみた|メール・資料作成はここまで楽になる
Copilotが向いている人・向いていない人を実体験から整理してみた
ChatGPT・Copilot・Geminiに同じ仕事を頼んだら結果が全然違った
結局どれを使えばいい?目的別に生成AIを整理してみた【初心者向け】
初心者が最初にやるべき生成AI活用① ChatGPTで「長文を理解・整理する」読むのがしんどい人ほど効果が出る使い方
初心者が最初にやるべき生成AI活用②ChatGPTに「分からないことをそのまま相談する」使い方・聞き方を気にしない安心感
初心者が最初にやるべき生成AI活用③AIを「自分専用の調べ物係」にする使い方|検索に疲れた人ほど効果が出る
ChatGPTにブログ記事を“赤ペン先生”してもらったら修正力がすごかった話―書くのが苦手な人ほど使ってほしい文章改善―
CopilotでExcel作業手順書を一瞬で作る|引き継ぎ資料が秒で完成した話
Geminiでアイデアが枯れたときの発想復活法|何も思いつかないを脱出する使い方
ChatGPT・Copilot・Geminiをブレスト役で使い分ける実例|発想が加速した方法
CopilotでExcel集計→Word報告書を一気に作る実務フロー― 月次報告が“考えずに終わる”ようになった話 ―
Copilotで会議議事録からToDo管理まで一気にやってみた実務フロー
Geminiで社内資料の画像を作ってみた|伝わらない資料が一瞬で変わった話
ChatGPTに流行りの「今まで私があなたをどう扱ってきたかを画像にして」を頼んでみた
ChatGPTのプロンプトを“自分用”に進化させる方法|頼み方で結果が激変する理由
初心者が最初にやりがちなプロンプトの失敗例と直し方
ChatGPTが急に賢くなる「前提条件」の渡し方-同じ質問なのに答えが変わるのはなぜ?-
プロンプトを毎回書かなくてよくなる“会話の残し方”
ChatGPTに「察してもらえない」と感じた時の原因と対処法|噛み合わない理由を実例で解説
AIに雑に投げても失敗しにくくなる頼み方のコツ|考えずに使っても噛み合う方法
プロンプトが思いつかない人のための“最初の一文”テンプレ集
ChatGPTを“相棒化”する人と、うまく使えない人の決定的な差
生成AIはどこまで使っていい?初心者が最初に知るべき法律の話
AI画像生成は違法?著作権で“やってはいけないこと”実例集
商用利用OK?NG?生成AIの利用規約を初心者向けに噛み砕く
AIで作った文章は誰のもの?著作権の考え方をやさしく解説
「知らなかった」では済まない?生成AIトラブル事例と回避法
ブログ・SNSでAI生成物を使うときの最低限の注意点まとめ
AIに頼りすぎて思考力が落ちた話|便利さの裏で起きたリアル失敗
AIの回答を信じて怒られた話|正しいはずが通用しなかった理由
ChatGPTにExcelマクロを直してもらったらコメントが消えた話|親切の落とし穴
Copilotの差分コードが分からなかった話|全コード出してもらう選択
ChatGPTにきれいな文章はいらなかった話|ぐちゃぐちゃでも伝わる
ChatGPTは仕事に使うだけじゃない|高校生の恋愛LINEをChatGPTに相談したら既読スルーが減った話
ChatGPTは仕事に使うだけじゃない|バツイチ48歳のマッチングアプリ不安を解消した相談実例
ChatGPTは仕事に使うだけじゃない|社内不倫の相談を法と気持ちで整理した話
ChatGPTは仕事に使うだけじゃない|離婚前に確認すべきことを全部整理してくれた話
ChatGPTは仕事に使うだけじゃない|夫が不倫しているかも…調べ方を相談してみた話
ChatGPTは仕事に使うだけじゃない|高校生の反抗期の息子への声かけを相談してみた話
ChatGPTは仕事に使うだけじゃない|大阪のマンションごみトラブルを理事会で相談した話
ChatGPTは仕事に使うだけじゃない|社内報の“ビックリマン風・ジブリ風”画像を作った話
ChatGPTは仕事に使うだけじゃない|ママ友ランチ角が立たず断れた話
ChatGPTは仕事に使うだけじゃない|会話ゼロ夫婦が再出発できた話
ChatGPTは仕事に使うだけじゃない|派遣切り50代女性の次の仕事を相談した話
ChatGPTは仕事に使うだけじゃない|これから役立つ資格をAIに本気で相談してみた話
ChatGPTは仕事に使うだけじゃない|親の介護が不安で今から準備を聞いた話
ChatGPTは仕事に使うだけじゃない|PTA役員を角が立たず断れた話
ChatGPTは仕事に使うだけじゃない|義母との距離感がしんどい悩みを整理してもらった話
ChatGPTは仕事に使うだけじゃない|家計が苦しい時に大阪市で使える制度を年齢別に聞いた話
ChatGPTは仕事に使うだけじゃない|子どものスマホルールを一緒に作ってみた話
ChatGPTは仕事に使うだけじゃない|推し活にお金を使いすぎる悩みを整理してもらった話
ChatGPTは仕事に使うだけじゃない|人間関係がしんどくて距離を置きたい時の相談実例
ChatGPTは仕事に使うだけじゃない|将来が不安で眠れない50歳手前女性の相談を整理してもらった話
Copilotでクロス表を縦持ちデータに変換|実務VBA作成の流れ
Copilotでクロス表を縦持ちデータに変換|実務仕上げ編
Copilotでクロス表を縦持ちデータに変換|配列で高速化する
Copilotでクロス表を縦持ちデータに変換|項目変更に強い構造へ
Copilotでリストボックスにユニーク値を設定|実務VBA
Copilotでリストボックス並び替え対応|実務VBA
Copilotでリストボックス表示制御を追加|実務VBA
Copilotで階層連動コンボボックス作成|実務VBA
Copilotで列番号を動的管理|階層連動VBAの実務改善
Copilotで並び順統一とUI改善|階層連動VBA仕上げ
Copilotで高速化(配列化)|階層連動VBA最終仕上げ
CopilotにListViewを相談したら絶望した話|64bit VBAの壁

■■■スポンサーリンク■■■