Masataka Miki's Blog

すみません、わかりません。もっと勉強して改善します。

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」を選択する。

 - 技術 , ,