前回までの記事で、
Excel VBA 64bit環境では ListView は実質利用できない
という結論になっていました。
しかし、その後 Microsoft の公式リリースノートを調べていると、かなり気になる情報を見つけました。
それがこちらです。
目次
Office スイート: セキュリティ以外の更新プログラム
- mscomctl.ocx の 64 ビット サポートを追加します。これにより、Office の 64 ビット バージョンで作業しているユーザーがコモン コントロールの含まれるマクロ ファイルを作成、編集、また開くことができるようになります。
- mscomctl.ocx で使用されているコントロールのアクセシビリティを向上させます。
バージョン 1706: 7 月 19 日
バージョン 1706 (ビルド 8229.2103)
最初にこれを見たとき、正直こう思いました。
え?
じゃあ Microsoft365 の 64bit でも ListView 使えるのでは?
今まで散々、「64bit版Excelでは使えない」と言われ続けてきたのに、Microsoft公式には「64bitサポート追加」と書かれているのです。
これは確認しないわけにはいきません。
そこで今回は、この情報をそのまま Copilot にぶつけてみました。
すると、今まで見えていなかった、「Microsoft のサポート」の本当の意味が見えてきました。

実際のCopilotとのやり取り
利用者 → Copilot
ここまでで Excel VBA 64bitでは ListView が使えないという説明を受けていました。 しかし Microsoft のリリースノートには、2017年7月19日の更新で、 mscomctl.ocx の 64bit サポート追加 と書かれています。 もしこの情報が正しければ、 Microsoft365 の 64bit版 Excel でも ListView が使えるのではないですか?
Copilot → 利用者
結論から言うと、 2017年の Microsoft の更新で追加された “mscomctl.ocx の 64bit サポート” は、 Excel 64bit で ListView が動作するようになる という意味ではありません。 ここが非常に誤解されやすい部分です。 実際に Microsoft が追加したのは、 「64bit Office でも、MSCOMCTL.OCX を含むファイルを 開けるようにするための互換性対応」です。 つまり、 ・ファイルを開く ・VBEで編集する ・参照設定として認識する という部分のサポートです。 しかし、 ListView コントロールそのものを 64bit Excel 上で実行できるようにした わけではありません。 つまり、「開ける」「編集できる」と、「実行できる」は別問題です。
「64bitサポート」の意味を誤解していた
ここ、かなり初心者が混乱するポイントだと思いました。
私も完全に、
64bitサポート追加
↓
64bit版ExcelでもListViewが動く
だと思っていました。
しかし Copilot の説明では、実行サポートではなく、編集互換サポート とのことでした。
つまり Microsoft の文章を整理すると、
- 64bit Officeでもファイルを開ける
- VBEで編集できる
- 壊れにくくする
ための修正だったわけです。
逆に言うと、64bit版の ListView ActiveX を提供した わけではありません。
ここが非常に大きな違いでした。
なぜ実行できないのか?
ここでさらに気になりました。
じゃあなぜ Microsoft は、64bit版 MSCOMCTL.OCXを出さなかったのでしょうか。
そこでさらに質問しました。
利用者 → Copilot
なぜ Microsoft は、 64bit版 MSCOMCTL.OCX を提供しなかったのでしょうか?
すると、かなり現実的な回答が返ってきました。
Copilot → 利用者
理由は非常にシンプルです。 MSCOMCTL.OCX は古い 32bit ActiveX 技術だからです。 そして、 64bit Excel は 32bit ActiveX をロードできません。 つまり、 64bit Excel が読み込める、64bit版の MSCOMCTL.OCX が存在しない ということです。 そのため、 ListView を実行すること自体ができません。 つまり Microsoft は、 「古い ActiveX を完全64bit対応させる」 方向ではなく、 「既存ファイルが壊れないようにする」 方向で対応したということです。
なぜ会社PCでは動いていたのか?
ここで、以前からずっと謎だったことがあります。
会社PCでは動いていた 問題です。
これも再度確認しました。
利用者 → Copilot
では、なぜ会社のPCでは ListView が動いていたのでしょうか?
Copilot → 利用者
これは非常に特殊なケースです。 多くの場合、 過去に 32bit版 Office がインストールされていた ことが原因です。 具体的には、 ・MSCOMCTL.OCX の登録情報 ・TypeLib(型情報) ・COM登録情報 などが残っている場合があります。 さらに Windows の WOW64 互換機能によって、 本来は読めないはずの 32bit 情報を、 64bit Excel が部分的に参照してしまうケースがあります。 つまり、 正式サポートされているのではなく、過去環境の残骸によって偶然動いている状態です。 そのため、 ・新規環境 ・クリーンインストール環境 では再現できないことが多いです。
ここでかなり納得できた
正直、この説明でかなり腑に落ちました。
今まで本当に不思議だったのです。
ネットには、「64bitでも動いた」という記事が存在する。
でも自分のPCでは動かない。
さらに会社PCでは動く。
つまり、動く人と動かない人がいる状態でした。
これが初心者をかなり混乱させます。
しかし今回の説明で、
- 正式対応ではない
- 環境依存
- 過去環境の影響
という可能性がかなり見えてきました。
なぜCopilotは最初にこの話をしなかったのか?
ここも気になりました。
最初からこの話をしてくれればよかったのでは?
と思ったのです。
そこでそのまま聞いてみました。
利用者 → Copilot
なぜ最初から、 2017年更新の話をしなかったのですか?
Copilot → 利用者
理由は、 Microsoft の「64bitサポート」という表現が非常に誤解されやすいためです。 また、実際の現場では、 「64bit Excel で ListView が安定動作しない」 という事実のほうが重要だからです。 さらに、環境依存で動くケースが存在するため、 完全に「動かない」とも言い切れず、 逆に初心者を混乱させやすい問題です。 そのため実務では、 64bit版 Excel で ListView を前提に設計しない という判断が一般的になります。
実際には何を選ぶべき?
ここまで調べた結果、現実的には、
64bit版Excelで安定運用したいなら、
ListView依存は避ける
という判断になると思います。
実際、
- 環境依存
- 突然動かなくなる
- PCごとに違う
- 配布先で壊れる
という問題が大きすぎます。
だから最近は、
- ListBox代替
- シートUI
- 独自フォーム
へ移行している人が多いのだと思います。
まとめ
今回は、2017年の Microsoft 更新情報をもとに、本当に 64bit版 Excel で ListView が使えるのかを Copilot に再確認しました。
最初は、
64bitサポート追加
↓
完全対応
だと思っていました。
しかし実際には、
- ファイルを開ける
- 編集できる
ための互換対応であり、64bit版 ListView ActiveX が提供されたわけではありませんでした。
また、
- 会社PCでは動く
- 自宅PCでは動かない
という現象も、過去の32bit環境の残骸や、COM登録情報による偶然動作の可能性が高いことも分かりました。
今回かなり実感したのは、Microsoft の文章を、そのまま表面的に読むだけでは分からないということです。
特に、
- サポート
- 対応
- 利用可能
という言葉は、何を意味しているのか をきちんと見ないと誤解しやすいです。
私自身も最初は、「Microsoftが64bitサポートって書いてるなら動くのでは?」と思っていました。
しかし実際に調べていくと、
- 編集互換性の話
- ActiveX実行の話
- COM登録の話
- 32bit/64bit問題
など、かなり深い部分が関係していました。
今回の調査で、なぜネット情報がバラバラなのかもかなり見えてきました。
リンク
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報告書を一気に作る実務フロー― 月次報告が“考えずに終わる”ようになった話 ―
大型Excel VBAはChat-GPTよりCopilotの方が作りやすい?実務で感じた変化
Copilotで会議議事録からToDo管理まで一気にやってみた実務フロー
Geminiで社内資料の画像を作ってみた|伝わらない資料が一瞬で変わった話
ChatGPTに流行りの「今まで私があなたをどう扱ってきたかを画像にして」を頼んでみた
ChatGPTのプロンプトを“自分用”に進化させる方法|頼み方で結果が激変する理由
初心者が最初にやりがちなプロンプトの失敗例と直し方
ChatGPTが急に賢くなる「前提条件」の渡し方-同じ質問なのに答えが変わるのはなぜ?-
プロンプトを毎回書かなくてよくなる“会話の残し方”
ChatGPTに「察してもらえない」と感じた時の原因と対処法|噛み合わない理由を実例で解説
AIに雑に投げても失敗しにくくなる頼み方のコツ|考えずに使っても噛み合う方法
プロンプトが思いつかない人のための“最初の一文”テンプレ集
ChatGPTを“相棒化”する人と、うまく使えない人の決定的な差
生成AIはどこまで使っていい?初心者が最初に知るべき法律の話
AI画像生成は違法?著作権で“やってはいけないこと”実例集
商用利用OK?NG?生成AIの利用規約を初心者向けに噛み砕く
AIで作った文章は誰のもの?著作権の考え方をやさしく解説
「知らなかった」では済まない?生成AIトラブル事例と回避法
ブログ・SNSでAI生成物を使うときの最低限の注意点まとめ
AIに頼りすぎて思考力が落ちた話|便利さの裏で起きたリアル失敗
AIの回答を信じて怒られた話|正しいはずが通用しなかった理由
ChatGPTにExcelマクロを直してもらったらコメントが消えた話|親切の落とし穴
Copilotの差分コードが分からなかった話|全コード出してもらう選択
ChatGPTにきれいな文章はいらなかった話|ぐちゃぐちゃでも伝わる
Copilotでクロス表を縦持ちデータに変換|実務VBA作成の流れ
Copilotでクロス表を縦持ちデータに変換|実務仕上げ編
Copilotでクロス表を縦持ちデータに変換|配列で高速化する
Copilotでクロス表を縦持ちデータに変換|項目変更に強い構造へ
Copilotでリストボックスにユニーク値を設定|実務VBA
Copilotでリストボックス並び替え対応|実務VBA
Copilotでリストボックス表示制御を追加|実務VBA
Copilotで階層連動コンボボックス作成|実務VBA
Copilotで列番号を動的管理|階層連動VBAの実務改善
Copilotで並び順統一とUI改善|階層連動VBA仕上げ
Copilotで高速化(配列化)|階層連動VBA最終仕上げ
CopilotにListViewを相談したら絶望した話|64bit VBAの壁
ListView強行突破|MSCOMCTL.OCX配置に成功した話
CopilotでListView登録に挑戦|regsvr32実行編(64bit VBA)
CopilotでListView確認|追加コントロール検証編(64bit VBA)
Copilotに全否定された件|ListView断念か?64bitの壁
CopilotでListView地獄を検証|32bit化で見えたWindowsの罠
CopilotでListView復活か?参照設定に見えた希望
Excel64bit版ListView問題の結論が見えた日
Excel64bit版ListView問題|2017年更新情報をCopilotへ再確認した結果
Excel64bitでListViewをあきらめて代替UIへ挑戦
Excel64bit代替UIに挑戦した結果…結局動かなかった話 ListViewの代替UI作戦が始まった
Excel64bit代替UIに挑戦した結果…hWndが取得できなかった理由 代替UI計画の本当の問題が見えてきた
Excel VBA WindowProcの壁 UserFormにウィンドウがなければWM_DROPFILES受取不可
Excel VBAでListBoxへドラッグ&ドロップできない理由 前回までのおさらい
Copilotはなぜ存在しない機能を提案したのか 前回ブログで生まれた新たな疑問
AIから正しいVBAコードを引き出す質問術