Excel 2010 : VBA にてローカルのHTMLファイルをWEBブラウザにて開くマクロ

 
以下の動作を実現するVBAマクロ(もしくは別に実現する方法があればその方法)をご教示ください。
・ExcelファイルとHTMLファイル(例:test.html)は同じ場所にある
・セルA1に入力されている値(例:soba)を読み取り、その名前が付けられている場所を表示(ウェブブラウザ起動)する
 (例:test.html#soba)
 
よろしくお願いします。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2012/03/31 15:59:09
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:ken3memo No.1

回答回数317ベストアンサー獲得回数115

ポイント100pt

表示させるだけなら、
explorer.exe に ファイルの場所を渡すと、表示されると思います。
(Excel2010 OS:Vista IE9でテストしました。)

Sub test_explorer()  'explorer.exe に FILE://xxxx と 渡しただけ
    Dim sURL As String
    
    'FILE://ブックの場所+test.html#+A1の値 を 場所にする
    sURL = "FILE://" & ThisWorkbook.Path & "\test.html#" & Range("A1").Text
    
    'explorer.exe に 上で作成した場所を渡す
    Call Shell("explorer.exe """ & sURL & """", vbNormalFocus)

End Sub

Excelの起動場所が知りたかったので、

VBA応用(絶対パス指定と相対パス指定)
7.8 ワークブックのパスを取得


手抜きで explorer.exe の 自動判断を利用して起動

VBA Excel2003 Shell で explorer.exe を使ってみた - ken3memo (三流君)


ローカルのファイルを指定したかったので
FILE:// を 付けてみた。

Outlook File://を付けてファイルの場所を書くと 参照/ハイパーリンクが付くよ - ken3memo (三流君)



Sub a1()  'A1の値を取り出すテスト
    Dim sA1 As String
    sA1 = Range("a1").Text
    MsgBox sA1
End Sub

Sub testPath()  'ブックのパスを取り出すテスト
    Dim sPATH As String
    sPATH = ThisWorkbook.Path
    MsgBox sPATH
End Sub




処理の参考となれば幸いです。
※OS:Win7でテストしていないので、そこが気がかりですが。。。

id:SOBA

超動きました!超ありがとうございました!超!

2012/03/31 15:58:55

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません