質問
こんにちはです。
エクセルでのハイパーリンクの文字列を変更したいって事ですよね?
であればVBAで・・・
Sub ハイパーリンク変更()
Dim FindS As String
Dim RepS As String
Dim lnk As Hyperlink
Dim c As Integer
FindS = InputBox("検索する文字列を入力してください")
RepS = InputBox("置き換えする文字列を入力してください")
If MsgBox("変更処理を開始しますか?", 4 + 32, "実行確認") = vbYes Then
c = 0
For Each lnk In ActiveSheet.Hyperlinks
If InStr(1, lnk.Address, FindS) > 0 Then
lnk.Address = Replace(lnk.Address, FindS, RepS)
c = c + 1
End If
Next
MsgBox CStr(c) & "件変更しました。", 64, "情報"
Else
MsgBox "処理を中止しました。", 64, "情報"
End If
End Sub
こんな感じでいいのかと思いますが・・・
#もしかして違いますかねぇ・・・
直接的な解決策ではありませんが、気になったので書いておきます。
リンクの参照先ですが、現状ではおそらく[ \コンピュータ名\共有名\ファイル名 ]となっているのでは?と思われます。
それを、ドライブをマッピングして[ ドライブ名\ファイル名 ]とする事は難しいのでしょうか?
もしかしたら、Excelの仕様で出来ないのかもしれませんが、こうすればサーバーが変わっても、マッピングするドライブを同じにすれば、問題が無いのでは?と考えました。
それと、今回の件とは関係ないかもしれませんが、外部リンクのサポート情報を見つけたので紹介しておきます。
質問
はじめまして、ちきんと申します。
よろしくお願いします。
弊社でファイルサーバの入替を予定しているのですが、
諸事情により新しいサーバに現行サーバと同じ名称を
付けることが出来ません。
サーバには別ブックにリンクを持つExcelファイルが大量にあり、
ファイルのリンク参照先を修正しなければならないのですが
量が多いので1つ1つチェックして修正するのは時間がかなり
かかってしまいます。(考えるだけで頭が痛くなります)
例えば現行サーバ名が含まれるリンク参照先を一括変更出来たり、
一括変更までは出来なくてもリンク参照先を含むブックを抽出して
リスト化出来ると負担もかなり減るかと思います。
どなたかその様なツールをご存じないでしょうか。
お知恵を貸して下さい。
よろしくお願いします。