• ベストアンサー

エクセルのハイパーリンクを強制的にIEで開く方法

Windows XP Excel2000 現在エクセルに、gif画像へのハイパーリンクを設定しています。 その画像そのものは自社のシステムから、アップロードされたもので、 gif画像へのURLは、http://xxxxxxx/xxxx/xxxx.gifのような形式になっています。 ハイパーリンクをクリックすると、Microsoft Photo Editorが勝手に 起動します。 しかし、エディターの仕様なのか、せっかくのgif画像が動きません。 VBAでも何でもかまいませんので、強制的にIEで開くように変更できませんか? もしくは、エディターのままでもいいので、gif画像が動くように 設定変更する等・・・ ちなみに、gif画像の関連付けをIEに設定してみてもダメでした。 通常使用しているブラウザはIEです。 どなたかお知恵を貸してください。よろしくお願いします。

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

  • ベストアンサー
  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.1

HyperLinkは諦めて、セル選択のイベントマクロを使うというのは如何でしょうか。セル範囲の限定やエラー処理は盛り込んでありませんので、雛形とお考え下さい。シートモジュールに記述します。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim myURL As String Dim objIE As Object myURL = Target.Text If myURL = "" Then Exit Sub Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True objIE.Navigate myURL End Sub なお、ご参考までにハイパーリンクは次の様に削除できます。 Sub deleteHyperLink() ActiveSheet.UsedRange.Hyperlinks.Delete End Sub

misa0928
質問者

お礼

いただいたコードを貼り付けてみたところ、IEで開きました! ありがとうございます。 エラーの書き方がわからなかったので、とりあえず、以下のような形で Y列にのみ設定するように変更してみました。 といっても、1行足してみただけなのですが・・・ Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim myURL As String Dim objIE As Object If Target.Column = 25 Then myURL = Target.Text If myURL = "" Then Exit Sub Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True objIE.Navigate myURL End If End Sub 動いてはいますが、書き方として正しいですか?

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

その他の回答 (2)

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.3

ANo.1です。misa0928さんの環境に合わせれば、それが最善と思います。もし、同じ列内に、(元)ハイパーリンク以外のものが含まれているなら、Target.Textの頭が"http"でなければ抜けるといった処理を盛り込めば良いと思います。

misa0928
質問者

お礼

ありがとうございます。 うまくいかなった頃はいちいちセルの中身のURLをコピーして IEに貼り付けて・・・としていたのがだいぶ楽になりました。 ちなみに、Y列にはhttp://~以外のものは入ってませんので、 その必要はありません。

すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.2

既に#1ご回答で済んでいると思いますが http://officetanaka.net/excel/vba/tips/tips42.htm が見つかりましたので紹介します。参考に。 #1は>IEを指定して開く方法(2)に当たると思います。 ーー 簡単に Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Address = "$A$2" Then MsgBox "IEで開く" Call Shell("C:\Program Files\Internet Explorer\IEXPLORE.EXE " & Range("A6"), vbNormalFocus) End If End Sub ーー でも1行で出来ました。 前提はA6に C:\Documents and Settings\XXX\My Documents\My Pictures\無題.GIF と文字列が入れてあり、A2をクリックすると IEで上記gifファイルがIEで出てきました。

misa0928
質問者

お礼

ありがとうございます。 私なりに検索してみたのですが、うまくヒットしませんでした。 参考にします。

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

関連するQ&A