• ベストアンサー

EXCELのハイパーリンク先の変更について

質問です。 今、EXCELのハイパーリンク先としてmynetworkの中の別のパソコンにあるファイルを参照しているのですが、参照先を別のパソコンへ変更しようと考えておりまして、その場合、リンク先のアドレスを一括で変更できる方法はないかと思いまして質問させて頂きました。 参照ファイルが沢山あるため、全てを変更するのは、 とても大変でして、変更したい部分は、マシン名だけなのですが、なにか良い方法がありましたら、教えて頂けないでしょうか? 宜しく御願いします。

  • st33
  • お礼率43% (19/44)

質問者が選んだベストアンサー

  • ベストアンサー
  • ja7awu
  • ベストアンサー率62% (292/464)
回答No.4

すみません。 ちょっと、訂正です。  コードの先頭に Option Compare Text を1行 追加しただけですが、 こちらのコードをコピーして使ってください。 大文字/小文字 識別の関係です。 > リンク先のアドレスを一括で変更できる方法・・・・・ ハイパーリンク先は、編集-->置換 では、出来ないと思います。 「一括」となるとVBAで処理することになるかと思います。 次の操作することにより、一発でブック内のハイパーリンク先が、全て置換えに なりますので、宜しかったら、詳しく手順を書きますので、テストしてみてください。 【 操作手順 】 ・ いずれかのシート名タブを右クリックして「コードの表示」を指定し、  開いたコードウィンドウに下記コードをコピーして貼り付けます。 ・ コードの設定事項で「検索文字列」と「置換え文字列」を指定します。  (現在は、アドレスに含む abc の部分を xyz に置換えるという設定です。) ・ 貼り付けたコード内(1行目とか)にカーソルがある状態で、F5キーを押し実行ます。 ・ これで、ハイパーリンク先が置換えになりますので、今貼り付けたコードを全て削除  してから、右上の×で閉じ、シートに戻ります。   これで完了です。 ハイパーリンク先が、変更になっているか、確認してみてください。 Option Compare Text Sub ChgLinkAdd() '全シート ハイパーリンク先置換え '-------- 設定事項 -------------------- Const Old_Add_Part = "abc" '    <------ 検索文字列 Const New_Add_Part = "xyz" '   <------ 置換え文字列 '------------------------------------- Dim Sh As Worksheet Dim Hyp As Hyperlink Dim Rng As Range Dim Cnt As Long For Each Sh In Worksheets   For Each Hyp In Sh.Hyperlinks     If InStr(Hyp.Address, Old_Add_Part) > 0 Then       Hyp.Address = Replace(Hyp.Address, _       Old_Add_Part, New_Add_Part, , , vbTextCompare)       Cnt = Cnt + 1     End If   Next Hyp Next Sh MsgBox "ハイパーリンク先 " & Cnt & _     " 箇所を置換えしました。", , "置換え完了" End Sub

st33
質問者

お礼

有難う御座いました。 助かりました。

その他の回答 (3)

  • ja7awu
  • ベストアンサー率62% (292/464)
回答No.3

> リンク先のアドレスを一括で変更できる方法・・・・・ ハイパーリンク先は、編集-->置換 では、出来ないと思います。 「一括」となるとVBAで処理することになるかと思います。 次の操作することにより、一発でブック内のハイパーリンク先が、全て置換えに なりますので、宜しかったら、詳しく手順を書きますので、テストしてみてください。 【 操作手順 】 ・ いずれかのシート名タブを右クリックして「コードの表示」を指定し、  開いたコードウィンドウに下記コードをコピーして貼り付けます。 ・ コードの設定事項で「検索文字列」と「置換え文字列」を指定します。  (現在は、アドレスに含む abc の部分を xyz に置換えるという設定です。) ・ 貼り付けたコード内(1行目とか)にカーソルがある状態で、F5キーを押し実行ます。 ・ これで、リンク先アドレスが、全て置換えになりますので、今貼り付けたコードを 全て削除してから、右上の×で閉じ、シートに戻ります。   これで完了です。 ハイパーリンク先が、変更になっているか、確認してみてください。 Sub ChgLinkAdd() '全シート ハイパーリンク先置換え '-------- 設定事項 -------------------- Const Old_Add_Part = "abc" '    <------ 検索文字列 Const New_Add_Part = "xyz" '   <------ 置換え文字列 '------------------------------------- Dim Sh As Worksheet Dim Hyp As Hyperlink Dim Rng As Range Dim Cnt As Long For Each Sh In Worksheets   For Each Hyp In Sh.Hyperlinks     If InStr(Hyp.Address, Old_Add_Part) > 0 Then       Hyp.Address = Replace(Hyp.Address, _       Old_Add_Part, New_Add_Part, , , vbTextCompare)       Cnt = Cnt + 1     End If   Next Hyp Next Sh MsgBox "ハイパーリンク先 " & Cnt & _     " 箇所を置換えしました。", , "置換え完了" End Sub

回答No.2

力技ですが新リンク先のPCに旧リンク先のPC名を付けることはできないのでしょうか?

  • earthlight
  • ベストアンサー率27% (284/1031)
回答No.1

置換を使えばいいのでは? 編集>置換 または ctrl + h です。

関連するQ&A

  • Excel 2016 ハイパーリンク一括変更

    ハイパーリンクの参照先を一括で変更したいのですが、操作方法、コマンドが分かりません、ご教授下さい。 変更したいのは、参照先の外付けディスクです。  具体的には f:\ → e:\ への一括変更です 宜しくお願いします。 ※OKWAVEより補足:「NEC 121ware :ソフトウェア」についての質問です

  • EXCELでハイパーリンク先が変わってしまいます

    EXCELで別フォルダにあるファイルにハイパーリンクを貼っています。 CドライブのAフォルダにBとDというフォルダがあり、 BにEXCELファイル、Dにリンク先のファイルがあります。 社内ではわたしの席と別の人の席で正常動作を確認しているのですが、 取引先に送ったところリンク先が開かないと言われました。 現場で見たわけではないのでよくわかりませんが、 ハイパーリンクのセルにカーソルを合わせたときに出てくるリンク先が file:///C:\A\D\ファイル名 となるべきなのに file:///C:\D\ファイル名 となってしまっているようです。 クリックすると「指定されたファイルを開くことができません」というダイアログが出るとのこと。 相対パスでリンクされているはずなのですが、環境によってこのように変わってしまうことがあるのでしょうか? 解消方法がわかりましたら、是非教えてください。 よろしくお願いいたします(T-T)

  • EXCEL2010のハイパーリンク先の一括変更

    EXCEL2010のハイパーリンク先の一括変更をしたいのですが、 \\TS-XHL6E6\ だけを削除して、このお尻の部分のリンクを生かしたいのですが、エクセル上で検索して、一括変更するには、どうすればよいのでしょうか?

  • Excel97で、ハイパーリンクを一括変更するには?

    Excel97で、ハイパーリンクを一括変更するには? 古いソフトで大変恐縮ですが、ネットワーク上で、サーバAに保存されたWordデータにリンクされる様にExcel97でハイパーリンクを設定しています。(このリンクはハイパーリンク関数ではなく直接入力したものです。) この度、このリンク先のWordデータの保存先を別のサーバBに変更することになりました。そこでExcelのハイパーリンクも変更したいのですが、データ数が膨大な為、一括で変更できる方法はありませんか? 過去の質問で似たような回答がありましたが(http://okwave.jp/qa/q1323629.html)、このコードの「Replace」はExcel97VBAでは使用不可だと思います。「Replace」の替わりに「Application.WorksheetFunction.Substitute」を使用してみましたが、「Substitute」でコンパイルエラーがでてしまいます。なにか足りない引数等があるようでしたらアドバイス下さい。 なお、Wordデータは日付をデータ名にして年代ごとに保存されています(例:¥¥サーバB¥2009¥0101.doc)。ちなみにExcelでは、A列にハイパーリンク、B列にデータ名を記述してあります。VBAではなく関数を利用して変更する方法があればそれでもかまいません。(例えばC1セルに「¥¥サーバB¥2009¥」まで記述して、A2セルに「$C$1 & B2 & .doc」みたいな記述をしてそれをA3セル以下全部コピーする事って可能でしょうか?)

  • エクセル ハイパーリンクについて

    エクセルのハイパーリンクの使い方で質問です。 エクセル2003を使っているのですが、B欄にハイパーリンクを入れて別フォルダーにあるhtmlを指定して開かせたいのですが htmlのファイル数が290あり、オートフィル機能で行いたいもののファイル名だけ連番になり、リンク先は一番先頭のファイル名「1.htm」 で統一されてしまいます。 リンク先をオートフィルで簡単に入力させることは出来ないのでしょうか? よろしくお願いいたします。

  • エクセルのハイパーリンクエラーについて

    エクセル(2002)で 同じパソコン内にあるファイルをリンク先とする ハイパーリンクを設定しました。 そのままでしたら ちゃんとリンク先が開くのですが ハイパーリンクを設定したファイルを移動したら エラーになります。 (リンク先は移動していません) これは何故でしょうか? そういうふうにエクセルが出来ているのでしょうか?

  • エクセルでのハイパーリンクで困っています。

    会社でエクセルにハイパーリンクを設定していると、 共有サーバーで作成したら「アドレスが正しくありません」と表示されます。 リンク先は共有サーバーです。 アクセス権の設定も特にしていません。 そのエクセルファイルをデスクトップに保存すると、正しくリンク先フォルダが開かれます。 パソコンに疎いもので、説明足らずかもしれませんが ご教授宜しくお願い致します。

  • エクセルのハイパーリンクについてです。

    エクセルのハイパーリンクについてです。 ハイパーリンクをセルに指定すると、指定した先のファイル名やパスがセル内に記載されてしまいますが、 この記載をなくしたい場合、どうしたらよいでしょう? ちなみに現状は絶対参照がいやで相対参照としたいので、 セル内に直接 =HYPERLINK("..\上位階層\ファイルがある階層\各リンク付けしたフォルダ\・・・") としています。 上記のようにすると、「上位階層\ファイルがある階層\各リンク付けしたフォルダ\・・・」のリンク先が全てセル内に記載されてしまいます。 この記載をなくしたいです。

  • Excelハイパーリンクのアドレスを表示する方法

    Excel2010でハーパーリンクのアドレスを一括表示する方法はありませんか? 会社で作成したExcelファイルで、 リンク先が古いサーバーのアドレスを指定しているリンクを 全て修正しなければなりませんが、たくさんあるファイルのセルを1つ1つ 「ハイパーリンクの編集」で確認するのがとても大変で困っています。 WordのShift+F9のようにリンクを表示させて、文字列検索したり一括変換したいのですが、 Excelではそのようなことはできないのでしょうか? リンク以外は修正せずにできる方法を教えてください。 よろしくお願いします。

  • エクセル・ハイパーリンク

    エクセルのハイパーリンクについて質問です。 ハイパーリンクでリンク先を 例)c:\Program Files\office とリンクさせたいとき、エクセルのA1のセルにProgram Files、B1のセルにofficeと書いてそれを参照し、c:\A1\B1 のような感じでできる方法はないのでしょうか? またVBA等でマクロを組んで似たようなものを作る事はできるのでしょうか? 稚拙な文章で申し訳ないですがよろしくお願いします。

専門家に質問してみよう