[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ハイパーリンクからFAXと画像のビューアへ』(ムラ)
ハイパーリンクに関する質問です。
リンク先に画像ファイルを設定しているのですが、
”Internet Explorer”にて画像が表示されます。
どうにかして”FAXと画像のビューア”で表示させたいのですが、
何か方法はありますか?
よろしくお願いします。
通常のハイパーリンクの設定では出来ないかと思います。 VBAでIE表示を消して強制的にビューアーで開く方法を使います。
ハイパーリンクは普通に設定しておいて ThisWorkbookモジュールに以下のようにしてみてはどうでしょうか? (momo)
Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink)
Const TgtExp As String = "jpg,gif,tif" '対象拡張子(半角小文字)
Const VPath As String = _
"rundll32.exe C:\WINDOWS\System32\shimgvw.dll,ImageView_Fullscreen"
Dim chkExp As Variant, ExpBuf As String, c As Variant
ExpBuf = StrConv(StrReverse(Split(StrReverse(Target.Address), ".")(0)), _
vbNarrow + vbLowerCase)
chkExp = Split(TgtExp, ",")
For Each c In chkExp
If c = ExpBuf Then
With CreateObject("Shell.Application").Windows
With .Item(.Count - 1)
If TypeName(.Document) = "HTMLDocument" Then
If Mid$(.Document.URL, 8) = Target.Address Then .Quit
End If
End With
End With
Shell VPath & " " & Target.Address, vbNormalFocus
Exit For
End If
Next c
End Sub
回答頂いて申し訳ありませんが、
ThisWorkbookmoduleはどうやって開けばよいのですか?
調べてみたのですがわかりません。
2003使用です。
初歩的な質問で申し訳ありませんがよろしくお願いします。
エクセルを起動した状態で Alt + F11 でVisualBasicEditerが起動します。
そして ctrl + R を押すとプロジェクトエクスプローラーが起動します。
そこにシートモジュールの下にThisWorkbookモジュールがあるはずですので ダブルクリックするとコードウインドウが表示されます。
そこに転記してください。
というかVBAが前提ではなかったのですね。 説明が足りなくてすみません。
補足で、コード内で画像ファイルの拡張子を >Const TgtExp As String = "jpg,gif,tif" '対象拡張子(半角小文字) と、jpg,gif,tif の3つだけ設定していますので 対象の拡張子を設定してください。
(momo)
おかげさまでビューアで表示できました。
丁寧に教えていただきありがとうございます。
(ムラ)
If TypeName(.Document) = "HTMLDocument" Then
の部分でエラーが出てしまいつかえませんでした。
どなたかご存じの方いらっしゃいましたら、
おしえていただけますか。よろしくお願いします。
元のコードは私の回答ですが・・・ IEのバージョンかShellの動作に関わるんだと思いますが Win7の環境に無いのでわかりません。 すみません。 (momo)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.