• ベストアンサー

絶対パスでないとダメなのでしょうか?

よろしくお願いいたします。 ActiveXコントロールで、WebBrowserを利用してweb表示を行いたいのですが、社内での理容を考えており、 Webページ自体もサーバ上ではなく、CDに焼いて利用しようと考えています。 よって、複数のパソコンでの利用を想定するため、 【ActiveXコントロール1.Navigate "◆◆◆"】の記述の中で、 ◆◆◆の部分を相対パスで指定したいのですが、どうも上手く出来ません。 もちろんハードディスク上の絶対パスであれば動作は出来ます。 この場合、相対パスの利用は出来ないのでしょうか? まだ全然VBの知識が無いのですが、ホームページの作成経験はあります。 ご教授いただければ幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

No.1です。 >ネットで検索したのですがApp.Pathとはどういうものでしょうか? ネットよりも、まずはヘルプだと思いますが。 AppとPathの両方をそれぞれ調べましょう。 あと、イミディエントウィンドウに、 「?app.path」 と入力して、[Enter]を押してみるといいでしょう。 で、「..」の件は、 ActiveXコントロール1.Navigate App.Path & "\..\index.htm" という風でいいのではないかと思います。 ("/"じゃなくて"\"でした。)

yutaka5555
質問者

お礼

ご指摘の通り、ヘルプですね。 そして、丁寧な解説、ありがとうございます。 ActiveXコントロール1.Navigate App.Path & "\..\index.htm" を実際に試して見ましたが、残念ながら動作しませんでした。 "\"の件は了解です。 再度色々と調べて見たいと思います。 (参考書などでは、私の見たものに関しては全て絶対パスで指定となっておりました) ありがとうございます。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • hofuhofu
  • ベストアンサー率70% (336/476)
回答No.3

> 相対パスの利用は出来ないのでしょうか? できないようです。 MSDNのNavigateの説明のところに「full path」と書かれていました。 http://msdn.microsoft.com/workshop/browser/webbrowser/reference/ifaces/iwebbrowser2/iwebbrowser2.asp http://www.d6.dion.ne.jp/~ikenji_o/works/sad/reference/webbrowser/objects/WebBrowser.htm No.1さんが書かれているようにApp.Pathから絶対パスを生成するのがいいかと思います。 「App.Path & "\..\index.htm」の結果がちゃんと目的の文字列になっているか確認してみてはいかがでしょう。

参考URL:
http://msdn.microsoft.com/workshop/browser/webbrowser/reference/ifaces/iwebbrowser2/iwebbrowser2.asp
yutaka5555
質問者

お礼

返信が遅れてしまいました。 その後、サイド色々と挑戦し、なんとか解決いたしましたのでお知らせいたします。 最終的な結果として、index.htmファイルと同じディリクトリで保存し、 CurrentProject.path & "\index.htm" という記述方法で難を逃れました。 ご指導いただき、ありがとうございました。

すると、全ての回答が全文表示されます。
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 プログラムファイル(Exeファイル)とWebページの相対位置が一定ということですか。 (両方とも、CD-ROMにある) なら、プログラムのパスを、「App.Path」で取得してそれを元に絶対パスを作成してはどうですか? もしくは、1つ上を表す、「..」を利用して、 「/../../a/b/test.htm」 のように出来ませんか。 (確認してないので、はっきり分からないですが。)

yutaka5555
質問者

補足

素早い返答、ありがとうございます。 えと、お恥ずかしながら、App.Pathというのが分かりませんでして。 ネットで検索したのですがApp.Pathとはどういうものでしょうか? ちなみに、指定したいファイル(index.htm)は一つ上の階層なので、【../index.htm】はすでに試しておりますが動作しませんでした。

すると、全ての回答が全文表示されます。

関連するQ&A