Excel64bit版ListView問題|2017年更新情報をCopilotへ再確認した結果

前回までの記事で、

Excel VBA 64bit環境では ListView は実質利用できない

という結論になっていました。

しかし、その後 Microsoft の公式リリースノートを調べていると、かなり気になる情報を見つけました。

それがこちらです。

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

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

バージョン 1706: 7 月 19 日

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

最初にこれを見たとき、正直こう思いました。

え?

じゃあ Microsoft365 の 64bit でも ListView 使えるのでは?

今まで散々、「64bit版Excelでは使えない」と言われ続けてきたのに、Microsoft公式には「64bitサポート追加」と書かれているのです。

これは確認しないわけにはいきません。

そこで今回は、この情報をそのまま Copilot にぶつけてみました。

すると、今まで見えていなかった、「Microsoft のサポート」の本当の意味が見えてきました。

Excel64bit版ListView問題|2017年更新情報をCopilotへ再確認した結果

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

実際の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コードを引き出す質問術

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