VBAでTreeViewやImageListのプロパティページが開けない

なるほど古い技術なんですね。でも、それでも他のよりはいいかなぁと思った。
で、TreeViewやImageListをフォームに貼ってプロパティページを開こうとしたら…

次のクラスは登録されていません。
次の CLSID オブジェクトを参照してください。:{7EBDAAE1-8120-11CF-899F-00AA00688B10}

というエラーが出たのだった。





どうやら、プロパティページで使用されているライブラリがVisualStudio6.0時代のライブラリを参照していて、それは既に頒布されてなかったりするのでエラーになっている模様。

やることは…

  • ライブラリをダウンロード
  • インストーラーから必要ライブラリを抽出
  • ライブラリを登録

である。何か懐かしいコマンドが出てきたー。


■ライブラリをダウンロード

ここに情報があった。
Visual Basic 6.0 を Windows のサポートについて

このページの中に「Microsoft ダウンロード センター」へのリンクがあった。

ここから、VB60SP6-KB2708437-x86-JPN.msi をダウンロードしてきた。

これをインストールして問題がない方は、これをインストールして完了かと。


■インストーラーから必要ライブラリを抽出

msiからファイルを抽出する方法が kurukuru-papaのブログ にサクッと書いてあった。

今回は、

start /wait msiexec /a VB60SP6-KB2708437-x86-JPN.msi targetdir="C:\Users\hogeuser\Downloads\temp\extruct" /qn

で展開した。


■ライブラリを登録

展開したファイルは C:\Windows\SysWOW64 にコピーした。

保存場所の選定は、このサイトを参考に行った。
「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

これによれば、 SysWOW64 には32bitのライブラリが入るらしいので抽出したファイルを保管。

登録には「管理者」でコマンドプロンプトを開いて以下を。

regsvr32 C:\Windows\SysWOW64\msstkprp.dll

もし、登録を解除するなら以下を。

regsvr32 /u C:\Windows\SysWOW64\msstkprp.dll


もっと良いコントロールがあるのかなぁ。

カテゴリーVBA

お気軽にどうぞ ~ 投稿に関するご意見・感想・他

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です