
今晩は,質問させていただきます.どうぞよろしくお願いいたします.
環境:VB2008 + VistaとXP でございます。
今開いているフォルダのパス一覧を取得いたしたく、検索いたしましたところ
http://oshiete.goo.ne.jp/qa/4475756.html
にご紹介して下さっておりましたため、同じようにコーディングさせていただきました。
>Shell32.dllとShDocVw.dllを参照設定して
> Dim sh As New Shell32.Shell
> Dim objWins As SHDocVw.IShellWindows = sh.Windows
> For Each oWeb As SHDocVw.InternetExplorer In objWinds
> Debug.Print(oWeb.LocationName & " " & oWeb.FullName)
> Next
Windows7上ではうまく動作いたしますが、何故かVistaとXPではエラーが出てまいります。
・Vistaの場合:デバッグ中(緑の再生ボタン)はうまく、エクスプローラで開いている
フォルダのパスが取れます。
しかし、ビルドいたしましたExeファイルから実行いたしますと、
添付図のようなエラーメッセージが出てまいります。
・XPの場合: デバッグ中・ビルド後ともにエラーになります。
Vista(可能でございましたらXPも)でうまく機能させるため、何かよいコーディング方法など
ございませんでしょうか?
まったく別の方法でも結構でございます。(XPは半分諦めかけでございますが。。。)
もし何か良さそうな方法などございましたら、是非ヒントをいただければと思います。
もしお詳しい方がいらっしゃいましたら,どうぞよろしくお願いいたします。

No.1ベストアンサー
- 回答日時:
COMを参照設定しているので 出来上がったEXEのみではなく interop.ShDocVw.dllとinterop.Shell32.dllもEXEと同じフォルダーに無いといけないのかも …
Setupプロジェクトを作ってインストールしましょう
出来上がったEXEとinteropのDLL2つを含むようにします
Setupプロジェクトを新規に作成します
ソリューションにインストール対象のプロジェクトを追加します
Setupプロジェクトのアプリケーションフォルダーを選択します
プロジェクト > 追加 > プロジェクト出力
プロジェクト名で 作成したアプリを選択
リスト項目で『プライマリ出力』を選択
OKをクリック
これで
ieframe.dll interop.ShdocVw.dll interop.Shell32.dll Shell32.dll 作成したアプリ
が右ペインに追加されます
ieframe.dllとShell32.dllはインストールには不要なようですので
おのおの選択して プロパティウィンドウの 『Exclude』をTrueに変更してセットアップから排除します
この状態で セットアッププロジェクトをビルドして
setup.exe と セットアッププロジェクト名.msi の2本を使ってインストールしてみましょう
redfox63様
どうもありがとうございます!
ご活躍拝見いたしておりますm(_ _)m
>Setupプロジェクトを作ってインストールしましょう
調べてまいりましたが、私が持っておりますExpress Editionでは
できない機能のようでございますね^^;
有償版を今から購入してまいります。よい機会でございます^^
まだインストーラを作成したことがございませんゆえ、
作ってみるのが楽しみでございます^^
この度はご親切にアドバイスいただき誠にありがとうございました!!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ManagementClassが見つからない。
-
DLLを作成してVBAから使用する...
-
Using System.Drawing がうまく...
-
IT初心者です 仕事で、vb.netで...
-
VB.NETでDLLを読み込ませる時に...
-
オブジェクト(dll)のレジストリ...
-
C#ソースをCSCファイルにてコン...
-
意味不明の実行時エラーで困っ...
-
VB2008→VB2010でエラーが出てま...
-
う~ん…。
-
VBAでエクセルからワードへの差...
-
A4の2枚をA3の1枚にする編集方法?
-
Accessフォームで全レコードを...
-
Designer.vbは直接コードをいじ...
-
■C#でブラウザを作成すること...
-
プリンターを指定して印刷するには
-
accessがインストールされてい...
-
2回以上PDFをコピーや印刷がで...
-
VBで実行中のEXEファイルの情報...
-
C++初心者です。 debug asserti...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
意味不明の実行時エラーで困っ...
-
ManagementClassが見つからない。
-
VB.NETで参照設定したDLLの修正...
-
C#ソースをCSCファイルにてコン...
-
IT初心者です 仕事で、vb.netで...
-
VB.Net リビルド 意味不明なメ...
-
Using System.Drawing がうまく...
-
VB.NETでDLLを読み込ませる時に...
-
オブジェクト(dll)のレジストリ...
-
VB2008→VB2010でエラーが出てま...
-
ビルドが実行できない 先へ進...
-
VBAの参照設定について
-
MS Visual Studio 6.0のEnterpr...
-
DLLを作成してVBAから使用する...
-
VBAからDLLをCALLしたいのですが
-
msvcr120d.dllがないというエラー
-
VB2010で作成したdllからtlbが...
-
エラーメッセージ
-
【VB.NET】開いているフォルダ...
-
vc++ dll excel vba
おすすめ情報