前提・実現したいこと
昨日まで特定の列にハイパーリンク先にある自PC内別ファイルから値を呼び出せるリストを作っていました。
アドレスが正しいにもかかわらずハイパーリンク先のファイルが呼び出せなくなりました。
どなたか詳しい方、ご教授お願いします。
発生している問題・エラーメッセージ
指定されたファイルを開くことができません
該当のソースコード
VBA
1Sub Test 2 Dim i As Long, j As Long, k As Long, r As Long 3 Dim c As String 4 5 6 r = 3 7 For i = 1 To 2 8 c = Chr(i + 67) 9 For j = 2 To 3 10 For k = 1 To 4 11 12 Dim s As String 13 s = "A" & c & "-" & j & "-" & k 14 Range("D" & r).Value = s 15 16 If Dir("C:\data\リスト\" & s & ".xlsm") <> "" Then 17 18 Range("A" & r).Formula = "='C:\data\リスト[" & s & ".xlsm]" & s & "'!H6" 19 ActiveSheet.Hyperlinks.Add Anchor:=Range("D" & r), Address:="C:\data\リスト\" & s & " .xlsm", TextToDisplay:=s 20 Range("D" & r).Interior.Color = RGB(204, 255, 204) 21 End If 22 23 r = r + 1 24 Next k 25 Next j 26 Next i 27End Sub
補足情報(FW/ツールのバージョンなど
アドレスをエクスプローラーで叩くと正常に開けたため、間違いはありません。
###追記
ハイパーリンクが生成されたセルを他のブックにコピーしたところ、開けませんでした。
Wordからハイパーリンクを設定すると正常に開けるので、アプリ自身の問題かと思いましたが
問題のファイルでHYPERLINK関数を使ったり、手動でハイパーリンクを設定すると正常に開けるので
自分の書き方に問題があるのかと思います。
###追記2
別ファイルにて動作させたところ、ActiveSheet.Hyperlinks.Add Anchor:=Range("D" & r), Address:="C:\data\リスト" & s & " .xlsm", TextToDisplay:=sで正常にハイパーリンクを作り、それを開くことは確認できました。
しかしIf文を入れるとアドレスが見つからないのかハイパーリンクは作られませんでした。
回答1件
あなたの回答
tips
プレビュー