![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
No.4ベストアンサー
- 回答日時:
A列にハイパーリンクが埋め込まれていて
そのアドレスがフルパスで記述されているとしたら
例
C:\Documents and Settings\nicotinism\My Documents\are.txt
A列のセルのダブルクリックや右クリックでは諸々使いにくいと思い
隣のB列のセルをダブルクリックした時に現れるように考えました。
そのシートのイベントに
Private Function GetLinkAdr(Rng As Range) As String
Dim StrAdr As String
Application.Volatile
With Rng.Cells(1)
If .HasFormula Then
If InStr(.Formula, "=HYPERLINK") = 1 Then _
StrAdr = Split(.Formula, Chr(34))(1)
Else
If .Hyperlinks.Count > 0 Then _
StrAdr = .Hyperlinks(1).Address
End If
End With
GetLinkAdr = StrAdr
End Function
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim parentAddress As String
Dim oFso As Object
Dim f As Object
Dim linkAddress As String
If Target.Column <> 2 Then
Exit Sub
End If
Set oFso = CreateObject("scripting.filesystemobject")
linkAddress = GetLinkAdr(ActiveCell.Offset(0, -1))
If linkAddress = "" Then
Exit Sub
End If
Set f = oFso.getfile(linkAddress)
parentAddress = oFso.getParentFolderName(f)
CreateObject("shell.application").shellExecute parentAddress
Cancel = True
Set f = Nothing: Set oFso = Nothing
End Sub
なお、リンクアドレスの取得は
http://oshiete.goo.ne.jp/qa/3675397.html
のご回答を丸々使わせていただきました。
回答ありがとうございました。
VBAをとてもよく理解されているみたいで、大変うらやましいです。
正直、すぐには理解できそうもありませんが、いずれは なんとか理解して役立たせて頂きます。
No.5
- 回答日時:
#3です。
>既設のファイルまでのハイパーリンクを編集せずに
とはハイパーリンクの設定の操作をせずに、例えば関数を埋め込むなどのことか。
ファイルまでのハイパーリンクを設定してあるあるセルの状態で、ボタンでもクリックすると、ファイルでなく、1段上のレベルの
フォルダを開きたいということか。関数や操作でな難しいと思うがVBAの経験などあるのかな。無ければ無理では。
普通にクリックしたらファイルが開くのでそれ以外の途を考えないといけない。
ボタンでも設けて
Private Sub CommandButton1_Click()
Dim fl As String
f = Range("A1").Hyperlinks(1).Address
fl = Left(f, InStrRev(f, "\"))
MsgBox fl
Shell "C:\Windows\Explorer.exe " & fl, vbNormalFocus
End Sub
Hyperlinks(1).の1も場合による。
もしこんな風なことなら、こんな手の込んだことは初心者は、やめるべきです。
ーーー
それに質問ではしたいこと(意図)がはっきりしないし、御礼で補足後でもまだはっきりわからない。
回答ありがとうございました。
おっしゃる通り、初心者ですので、すぐには使いこなせそうにありません。
皆さん、すばらしい知識をどのように習得されたのか・・とため息が出るぐらいにうらやましいです。
今後理解を深めて生きたいと思います。
No.3
- 回答日時:
VBAなら容易だと思いますが、敢えて関数での実現にトライしてみました。
A1にハイパーリンクがあるとします。(ハイパーリンク関数によるハイパーリンクでは不可)
ここでは、ハイパーリンクの表示文字列と、ファイルパスは同じとします。
A2に下記の関数を入力します。4階層目までのパスに対応しているつもりです。(パス中の\が1~4個まで対応)
要するにファイルのパスの最後の\の左側を切り出して、フォルダーのハイパーリンクを生成するのに苦労してみたという事です。
CHOOSE関数でこんな事ができると知ったのが収穫でしょうか。
xl2010で試しています。ご参考まで。
=HYPERLINK(CHOOSE(LEN(A1)-LEN(SUBSTITUTE(A1,"\","")),LEFT(A1,FIND("\",A1,1)),LEFT(A1,FIND("\",A1,FIND("\",A1,1)+1)),LEFT(A1,FIND("\",A1,FIND("\",A1,FIND("\",A1,1)+1)+1)),LEFT(A1,FIND("\",A1,FIND("\",A1,FIND("\",A1,FIND("\",A1,1)+1)+1)+1))))
No.2
- 回答日時:
挿入ーハイパーリンクーハイパーリンクの挿入の操作で、普通はファイル名までを指定します。
さらに望みならそれ以下のレベルのシートなども指定できます。逆に(ファイルの上のレベルの)フォルダのレベルで指定を止めておけば、質問のようになるのでは。
ただしクリックしてもファルダのレベルまでしか表示されず、ファイルはアイコン表示で、実際はその先の選択(ファイル指定)をしないと役に立たないでしょうがそれは覚悟の上で。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/20 10:00
- グループウェア 一太郎がイントラで開けません。対処方法を知りたいです。 3 2023/04/04 13:30
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/21 13:29
- Excel(エクセル) ハイパーリンク先のフォルダの中のファイルが多すぎで見つけれません。ハイパーリンクの挿入の画面が小さく 1 2023/02/12 19:55
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/03 09:11
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/02/21 11:19
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/02 11:48
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2022/10/26 17:14
- Visual Basic(VBA) エクセルのマクロについて教えてください マクロを実行して 作業フォルダの中にある PDFファイル名を 3 2023/07/01 15:16
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/02/07 09:58
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
AccessからOLEオブジェクト型の...
-
VB6でUTF-8ファイルの読取りを
-
エクセルのVBAで開いている...
-
タイムスタンプの更新の方法2
-
ffftpでファイル取得が0バイト...
-
FileDialog オブジェクトでファ...
-
更新日が指定日以降のファイル取得
-
【ACCESS VBA】アクセスからデ...
-
VBAでフォルダ内のhtmlファイル...
-
EXCEL VBA tif画像のプロパティ...
-
ファイルを複数選択した時のフ...
-
vbsでのアスタリスクとファイル...
-
「AccessViolationException」...
-
ファイルへのハイパーリンクで...
-
ExcelVBA 文字コード変換
-
Wordのプロパティ・総ページ数...
-
Excel VBA でサブルーチンをル...
-
VBAの初心者でやりたいことがあ...
-
フォルダ内のファイル存在監視...
-
VBAでCSVファイルを読み込もう...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FileDialog オブジェクトでファ...
-
動かなくなってしまった古いVBA...
-
vbaサブフォルダーをワイルドカ...
-
ffftpでファイル取得が0バイト...
-
サブフォルダ含むフォルダ内の...
-
VBAでフォルダ内のhtmlファイル...
-
excel マクロ PDF化の際のエラ...
-
Wordのプロパティ・総ページ数...
-
Accessのウインドウサイズの固定
-
VB6でUTF-8ファイルの読取りを
-
フォルダ階層・ファイル名・ペ...
-
「エクセルファイルが開いてい...
-
ExcelVBA 文字コード変換
-
エクセルのVBAで開いている...
-
「AccessViolationException」...
-
ファイルを開く時間測定のスク...
-
vbsでのアスタリスクとファイル...
-
AccessからOLEオブジェクト型の...
-
VBからExcelファイルを開くとき...
-
【ACCESS VBA】アクセスからデ...
おすすめ情報