Windows7のVB6でエラー。MSCOMCTL.OCXが原因?
2018/03/28
数年ぶりにVB6のプログラムを修正。
VB6がインストールされているWindows7マシンを借りての作業だったのだが、プロジェクトファイルを開いたそばから、エラーメッセージが表示されるという、幸先の良くない現象発生!!(まあ、想定内だが・・・)
「オブジェクト ライブラリは登録されていません。」
どうやら、MSCOMCTL.OCX がきちんと読み込めていない模様。
以下の処置を行ったら、うまくいった。
1.VB6にSP6をあてる
VB6のバージョンを確認すると、なぜかVB6 SP3だったので、SP6をダウンロードし、インストール。
Visual Basic 6.0 Service Pack 6 - Microsoft
2.レジストリの再登録
regsvr32 /u C:\Windows\System32\MSCOMCTL.OCX
regsvr32 C:\Windows\System32\MSCOMCTL.OCX
3.タイプライブラリの再登録
※これは、コマンドプロンプトを管理者権限で起動してからでないとだめ!
C:\Windows\REGTLIB.EXE C:\Windows\system32\msdatsrc.tlb
4.VB6起動
VB6を管理者権限で起動し、対象のプロジェクトを開く
5.コンポーネントの確認
ツールバーの「プロジェクト」―「コンポーネント」、「コントロール」タブ
「Microsoft Windows Common Controls 6.0 (SP6)」にチェックをついていることを確認。
チェックがついていない場合、追加する。
ツールバーの「プロジェクト」―「コンポーネント」、「コントロール」タブの参照ボタンから、
「C:\Windows\System32\MSCOMCTL.OCX」を選択する。