[[20200812185124]] 『OCXを完全に削除するには?』(たまひよ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『OCXを完全に削除するには?』(たまひよ)

動作確認が必要で「MSCOMCTL.OCXを削除した環境」を作りたいのですが、OCXを削除してもExcelを開くてと参照された状態になってしまい、困っています。

【試した事】
(1) 解除コマンド(regsvr32 /u )を使用 
(2) 参照設定のOCXのパスにあるOCXファイルを移動
(3) 移動でもダメだった為、OCXファイルを削除

上記(1)〜(3)を試しましたが、Excelを開くとMSCOMCTL.OCXが参照されたままの状態となりました。

そこで、参照設定にあるMicrosoft Windows Common Controls 6.0のチェックを外してExcel再起動したところ、参照設定からMicrosoft Windows Common Controls 6.0はいなくなったのですが、TreeViewを使ったxlsmファイルを開くとエラーメッセージ等は一切なくファイルを開く事が出来、なおかつTreeViewもきちんと動作します。

これはOCXを完全に削除できていない、という事でしょうか?

だとしたら、OCXを完全に削除するにはどうしたらよいのか、教えていただけませんでしょうか。

よろしくお願い致します。

< 使用 Excel:Office365、使用 OS:Windows10 >


 >動作確認が必要で「MSCOMCTL.OCXを削除した環境」を作りたいのですが
 削除して何の動作確認するのですか。
 >(2) 参照設定のOCXのパスにあるOCXファイルを移動
 そのパス名は?
 >(3) 移動でもダメだった為、OCXファイルを削除
 どうやって削除しましたか。
 >Excelを開くとMSCOMCTL.OCXが参照されたままの状態となりました。
 Excel自体が参照しているわけではありません。Visual Basic が参照しているのです。
 >TreeViewを使ったxlsmファイル
 MSCOMCTL.OCXがTreeViewを制御しているのです。
 Visual Basic 6.0で作成されたソフトの動作に必要なランタイムファイルです。
 Windows 95/98/2000/XP となっており、かなり古いものです。

 私も Windows10 を使用していますが「MSCOMCTL.OCX」は最初から入っていません。
 どうやってインストールしたのですか。
(SOH) 2020/08/13(木) 21:27

SOHさま

返信ありがとうございます。

ComonnControlを使ったマクロが特定の環境で動かない為、再現が取れる環境が必要となりました。
→特定の場所にMSCOMTL.OCXがあるのに認識されずエラーとなりました。OCXをインストールし、その場所(パス)を参照しても認識されないので、完全削除してから再度インストールしようと思ったのですが、自分のPCだとOCXファイルを削除してもマクロを開くと問題なく使えてしまうため、完全に削除できてないのでは?と思い質問した次第です。

自分のマシンだとMicrosoft Windows Common Controls 6.0のパスはc:\windows\system32\MSCOMTL.OCXです。
※特にインストールなどはしなくても参照できたと記憶しております(VisualStudioが入った環境なので、そのせいでしょうか・・・?)

削除は解除コマンドを実行した後、ファイルを元あった場所から移動し、その後、ファイルを手動で削除しました。

(たまひよ) 2020/08/14(金) 00:31


 >特定の環境で動かない為
 特定とはどういうことでしょうか。そこには MSCOMTL.OCX がインストールされていますか。
 マクロを実行するとそれなりのエラーが出ると思うのですが。
 ここでそれに合う環境を構築していくのが基本です。
 >VisualStudioが入った環境なので、そのせいでしょうか・
 はいその通りです。
 >ファイルを手動で削除しました。
 VisualStudioで使用する共通制御機構を含んでいるAcriveXコントロールのモジュールです。 
 mscomctl.ocx は PC を適正に動作させるためのシステムプロセスです。削除してもよいアイテムではありません。 
 VisualStudioで作成したとき後々で問題が発生する可能性がありますよ。元に戻しましょう。
(SOH) 2020/08/14(金) 10:58

SOHさま

回答遅くなりまして申し訳ございません。

64bit版のOFFICE2013の環境でTreeViewとListViewが使えないので、OCXをインストールして何とか対応できないか模索していました。
OCXをインストールしても参照設定の「参照不可」を無くしてみても、どうにもこうにもTreeViewとListViewが使えないので困っています。

2013以外のバージョンだと参照設定にあるパスではない場所にOCXがあれば動くようになったのですが、2013だとその場所すら分からず・・・。

色々調べてみたのですが解決策は見つからないです。
64bitの2013でTreeviewとListViewを使うのは諦めざるを得ないかな・・・。

(環境再現用に削除したmscomctl.ocxは元に戻しておきました。有難うございます)

(たまひよ) 2020/08/18(火) 18:34


 OFFICE2013、64bit版の環境でしたか。
 MSCOMCTL.OCXはVisual Basic 6.0で提供されるモジュールですが32bit版しか存在しません。
 64bit版との互換性はありません。
 64bit 版として提供されていません。
 64bit 版を使用するなら諦めるしかなさそうです。
(SOH) 2020/08/18(火) 22:31

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.