質問: mscomctl.ocxのアップデートの方法 excel vbaを使っていて listviewなどのmscomctl.ocxに依存した コントロールを使っている場合 mscomctl.ocxに上位互換性がないため、 vbaを含むxlsmファイルを作成したpcとは異なるpcで そのプログラムを使用するためには 使うpcごとにmscomctl.ocxをアップデートする必要があります。 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1198163781 詳細はこのページに書かれてあります。 疑問は、いま、自分が使っているmscomctl.ocxのバージョンが2012年のものなのですが windows10にアップグレードするなどした場合に mscomctl.ocxをアップグレードする必要がありますが vbaは正常に動作するのでしょうか? mscomctl.ocxには下位互換性があるのでしょうか? もし動作しないとして、 一つずつlistviewを削除して新規作成するという作業を行う必要があるのでしょうか? 自動更新できる方法があれば教えてください。
回答: 現、windows7 & excel2010 ↓ 新、windows10 & excel2016 などの場合には完全にとは言えないかもしれませんが、 ほとんどの場合でexcel内部で自動的に判断されるので問題ありません。 逆に、 現、windows7 & excel2010 ↑ 新、windows10 & excel2016で作成 のように旧バージョンで動かそうとすると vbeの参照設定を変更しなくてはいけない場合が多くなりますが listviewコントロール自体の作り直しが必要になることは、まず無いと思います。 リンク先の投稿ですが、あの時には、ms社のセキュリティアップデートにバグがあり ms社の修正パッチの公開を待っていたら業務が滞るので手作業でファイルの置き換え、 レジストリの書き換え、コントロールの作り直しで対応していました。 通常であれば必要のない作業でした。 その後、修正パッチが公開されてあの問題は収束しました。 繰り返しになりますが、mscomctl.ocxに限定でいうと、 新バージョンに移行する場合には何も気を配る必要はないでしょう。 旧バージョンのexcel環境で使えるようにするには、 参照設定の確認が必要です。