• 締切済み

エクセル ハイパーリンク

エクセルのハイパーリンクを用いてデータファイルを整理して、エクセルからそれぞれのファイルを開けるようにしようと思っています。 ただバックアップを作製する際にハイパーリンクをうまくコピーすることが出来ません。 おそらくハイパーリンクのファイルの場所が変わるためだと思います。 そこでこれをうまくできるような方法をご教授ください。

みんなの回答

  • naoto0216
  • ベストアンサー率46% (183/391)
回答No.4

>使用用途として、USBメモリー上にエクセルのファイル、 >そこから各種作成書類のファイルに飛びたいのです。 >またこれを他人に渡す場合や異なるPCに入れる場合 >でも大丈夫なようにしたいのです。 そもそも、これが現実的ではないですから。 現実的ではないことをやろうとしてるのだから、現実的ではない方法 (わたしが回答した方法は特に変わった方法ではありませんが)で やらないと目的を達成できませんよ。 ご自分で言われてる通り、「ファイルの場所が変わるためだと思います。」 です。エクセルやデータを他のPCに移動して、勝手にパスが変わることは ありませんから。

  • naoto0216
  • ベストアンサー率46% (183/391)
回答No.3

#2です。 >他に的確な方法があるのであればご教授ください。 仮にハイパーリンクがC:\バックアップ\ファイル名 となってて これらのデータを他のPCのC:\バックアップ\ に保存したら リンク可能です。 自分のPCがA、他のPCがBとした場合、Bにエクセルを入れて そこからAのデータにリンクしたいってことですか? でしたら、Aに共有フォルダを作成し、ハイパーリンクとして \\A\共有フォルダ名\ファイル名 とすれば、Bからハイパーリンクで Aにあるファイルを開くことは可能です。

itaitatk
質問者

補足

回答ありがとうございました。 少し現実的でないです。

  • naoto0216
  • ベストアンサー率46% (183/391)
回答No.2

データが元々Aという場所にあって、それをBという場所にバックアップ したとします。ハイパーリンクをBに向けたいということですか? あくまでもバックアップしたデータなんだから、わざわざBに向けず Aのままじゃダメなのでしょうか。 とりあえず、ハイパーリンクの一括変換は以下の通りです。 1.ハイパーリンクのあるエクセルを開きます。 2.Alt+F11を押して、VBEの画面が開くので、挿入⇒標準モジュール  を選択します。 3.そこに下記を貼り付けます。 Sub Macro1() Dim i As Hyperlink For Each i In Sheet1.Hyperlinks i.Address = Replace(i.Address, "昔のパス", "新しいパス", , , vbTextCompare) Next i End Sub ※パスにはファイル名まで入れなくてよいです。 4.最後にF5を押して実行します。 5.ハイパーリンクのパスが新しいパスに変わったことを確認します。 ※あくまでもハイパーリンクのパスを変えているだけなので、ハイパーリンクの  表示文字列にパスをそのまま表示している場合は、置換で一括変換します。

itaitatk
質問者

補足

ありがとうございます。 確かにこの方法だと変換できますね。 使用用途として、USBメモリー上にエクセルのファイル、そこから各種作成書類のファイルに飛びたいのです。またこれを他人に渡す場合や異なるPCに入れる場合でも大丈夫なようにしたいのです。 ファイルごとコピーしてもリンクが切れてしまうため困っていました。 他に的確な方法があるのであればご教授ください。

  • dogs_cats
  • ベストアンサー率38% (278/717)
回答No.1

バックアップはコピーすべきで、ファイル移動させるからリンクが切れる訳です。内蔵HDDに余裕がないなら外付HDD購入して、リンクを外付HDD指定にするのが簡単では無いでしょうか。

itaitatk
質問者

補足

使用用途として、USBメモリー上にエクセルのファイル、そこから各種作成書類のファイルに飛びたいのです。またこれを他人に渡す場合や異なるPCに入れる場合でも大丈夫なようにしたいのです。 ファイルごとコピーしてもリンクが切れてしまうため困っていました。 他に的確な方法があるのであればご教授ください。

関連するQ&A