ExcelVBA―おかしくなったハイパーリンクを修正するモジュール
ブック内のすべてのおかしくなったハイパーリンクを修正するモジュール
はじめに
エクセルでは何らかの拍子にブック(book)内のすべてのハイパーリンクがおかしくなる場合がよくあります。
これを全て手動で元に戻すことは大変なことなので、ハイパーリンクの修正モジュールを作成しました。
私自身長年ちょくちょくとお世話になっているモジュールです。
ハイパーリンクの修正モジュールのソースコード
Public Sub リンク修正()
Dim w As Worksheet
Dim 狂ったハイパーリンクのパス As String
Dim 正しいハイパーリンクのパス As String
狂ったハイパーリンクのパス = "(おかしくなったハイパーリンクのパスを記述します)"
正しいハイパーリンクのパス = "(正しいハイパーリンクのパスを記述します)"
For Each w In Worksheets
For Each h In w.Hyperlinks
If InStr(h.Address, 狂ったハイパーリンクのパス) <> 0 Then
Ret = WorksheetFunction.Substitute(h.Address, 狂ったハイパーリンクのパス, 正しいハイパーリンクのパス)
h.Address = Ret
End If
Next
Next
End Sub
上のソースコードをそのままコピーして標準モジュールに貼り付けてください。
ソースコードは分かりやすさを優先させるため、日本語を用いています。
「狂ったハイパーリンクのパス」と「正しいハイパーリンクのパス」を直接にソースコードに記述した上、「リンク修正」プロシージャーを実行します。
InputBox 関数やユーザーフォームを使用して使いやすいGUI(ユーザーインタフェース)にすることも簡単にできるでしょう。
ただし、一度実行すると元に戻せませんので、バックアップを取っておくなどして各自の責任の上十分にご注意してお使い下さい。


