DOBON.NET DOBON.NETプログラミング掲示板過去ログ

コンポーネントの参照及び依存関係について

環境/言語:[.NET]
分類:[.NET]

こんにちは。

現在、VB5.0から.NETへのコンバージョンを行っています。
一度6.0で保存してからアップグレードウィザードで.NETへ
あげたのですが、以下のようなエラーが出てしまいました。
ヘルプへ跳べなくて困っています。
対策、もしくは関連するサイトなど、教えて頂けませんか?

依存関係 'Microsoft.Vbe.Interop' が見つかりませんでした。
参照コンポーネント 'Microsoft.Vbe.Interop' が見つかりませんでした。このタイプ ライブラリのラッパー アセンブリは登録されていません。
参照コンポーネント 'VBIDE' が見つかりませんでした。このタイプ ライブラリのラッパー アセンブリは登録されていません。
たろうさん、こんにちは
> 依存関係 'Microsoft.Vbe.Interop' が見つかりませんでした。
> 参照コンポーネント 'Microsoft.Vbe.Interop' が見つかりませんでした。このタイプ ライブラリのラッパー アセンブリは登録されていません。
> 参照コンポーネント 'VBIDE' が見つかりませんでした。このタイプ ライブラリのラッパー アセンブリは登録されていません。

まず、エラー語句での検索をお勧めします。
Microsoft.Vbe.InteropでもVBIDEでもかまいません。
そこからキーワードを頼りに問題解決していくのも楽しいものですよ〜

VB5の時に、Office関連のDLLを使っていませんか?(Microsoft FormsとかExcel関連とか)

これらはOfficeが入っている環境で使用できるものです。当然、Officeライセンスが無いと再配布することも許されませんのでご注意を。
> まず、エラー語句での検索をお勧めします。
> Microsoft.Vbe.InteropでもVBIDEでもかまいません。
> そこからキーワードを頼りに問題解決していくのも楽しいものですよ〜

ゆさん、ありがとうございます。

色々、語句を区切って調べてみました。
で、Microsoft.Vbe.InteropについてはMicrosoft Forms 2.0 PIA(microsoft.vbe.interop.forms.dll)を参照しているようなので
プロジェクトの参照に加えてみましたが、変りありませんでした(/_;)シクシク
プロジェクトの依存関係ダイアログボックスを開いても見ましたが、
依存しているファイルは出ていませんでした。

> VB5の時に、Office関連のDLLを使っていませんか?(Microsoft FormsとかExcel関連とか)
>
> これらはOfficeが入っている環境で使用できるものです。当然、Officeライセンスが無いと再配布することも許されませんのでご注意を。

Officeライセンスとは。。Officeは入っています。
Office関連のDLLも使っているのですが、Interop.ExcelやInterop.MSFormsに
関してはエラーが出ていないんで大丈夫でしょうか。
また煮詰まってしまいました。
たろうさん、こんにちは。

Microsoft.Vbe.Interop .NETで検索すると↓のHPが出てきます。
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/dv_wrcore/html/wrrefofficeprimaryinteropassemblies.asp

ここでMicrosoft.Vbe.Interopは、Microsoft Visual Basic for Applications Extensibility 5.3って書いてありますんで、原因はこれですね。

あとはこのページのリンクをたどっていけばインストール方法もみつかる
かと思います。 当方、Office2003を持っていないので試しようが
ないのですが^^;
ゆさん、こんにちは。
↓のページ、当たってみました。で、
Microsoft Visual Basic for Applications Extensibility 5.3
を参照に加えてみたんですが、VBIDEのエラーの方が消えてしまいました。

ちなみに、私も2003は持っていませんでした。
Office 2000 Premium でした。
これも、何か関係するのでしょうか。

> Microsoft.Vbe.Interop .NETで検索すると↓のHPが出てきます。
> http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/dv_wrcore/html/wrrefofficeprimaryinteropassemblies.asp
>
> ここでMicrosoft.Vbe.Interopは、Microsoft Visual Basic for Applications Extensibility 5.3って書いてありますんで、原因はこれですね。
>
> あとはこのページのリンクをたどっていけばインストール方法もみつかる
> かと思います。 当方、Office2003を持っていないので試しようが
> ないのですが^^;
たいちさん、こんにちは
> Microsoft Visual Basic for Applications Extensibility 5.3
> を参照に加えてみたんですが、VBIDEのエラーの方が消えてしまいました。
たしかにVBIDEは参照に加わりますね。
でも、Microsoft.Vbe.Interopは消えないということですよね?
ためしに、VBIDEの参照を消してから、再度参照追加で
Microsoft Visual Basic 6.0 Extensionを加えてみたらどうなりますか?
名前的にはこちらっぽいですよね^^;
で、これを加えるとVBIDEも一緒に参照されるといったところでしょうか。
Microsoft Visual Basic 6.0 Extension
を加えてみました。が、やっぱりMicrosoft.Vbe.Interopのエラーは消えません。

私がよく分かっていないだけなのですが、

Microsoft Visual Basic 6.0 Extension も
Microsoft Visual Basic for Applications Extensibility 5.3
も、6.0の時には参照されていなかったのに、
.NETになると、必要になってくるんでしょうかー。
うーん、何なんでしょうね
とりあえず、MSの本家からMicrosoft.Vbe.Interopを落とすことは出来ましたがOfficeXP用みたいなんですよね。

http://msdn.microsoft.com/vstudio/downloads/tools/

Office XP Primary Interop Assemblies (PIAs)

というのをダウンロードして解凍するとMicrosoft.Vbe.Interop.dllが
含まれていますので、これを参照に追加してみてどうなるか試してみませんか?
やってみました!
エラーが出ている既存のMicrosoft.Vbe.Interopを削除し、
教えていただいたサイトからダウンロードしたものを
参照に加えてみました。
そしたら。
'Microsoft.Vbe.Interop,Version=11.0.0.0,Culture=natural,PublicKeyToken=71e9bce111e9429c'は、
参照'Mrosoft.Vbe.Interop,Version10.0.4504.0,Culture=natural,PublicKeyToken=31bf3856ad364e35'を上書きするため、実行ディレクトリにコピーできません。

と言うエラーが出てしまいました。
ほんと、訳の分からないエラーに手こずってしまっています。
うーん、もともと使用していたOffice関連のオブジェクトは何がありますか?
こちらでVB6でMSFormsのコントロール、Excelシート、Word文書のコントロールを
貼り付けたものを作って.NET変換してみましたが、あっさり動いてしまいました^^;
ちなみにOffice2000です。
■No4470に返信(ゆさんの記事)
> うーん、もともと使用していたOffice関連のオブジェクトは何がありますか?

いえ。
ボタンを押すと、Exelが表示されるくらいです。。('〜`;)
> ボタンを押すと、Exelが表示されるくらいです。。('〜`;)
ありゃ^^; 環境がおかしいだけかもしれないですね?
他のマシンで試す環境があったら、そこで試してみるのもいいかもですね。
もしくは、Office、.NETともに再インストールとかでしょうか・・・^^;
ゆ さん

別の環境で試してみたところ、問題なく動きました。
お騒がせして、すみません(・・;)
今から、officeと.NETを再インストールしてみます。

ありがとうございました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板