[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『リンク先の変更』(デスク)2007のビスタ
”A”というファイルに、”あ”というフォルダ内の一覧を作って、ハイパーリンクの挿入で、ひとつひとつエクセルファイルにハイパーリンクさせています。
(”あ”フォルダの中には、”ア”フォルダや”イ”フォルダがあります)
”あ”というフォルダを丸ごと全部 他のフォルダに動かしても、”A”のファイルから、ハイパーリンクが可能な方法は あるでしょうか?
宜しくお願いします。
ハイパーリンクが相対でなく絶対パスだと、設定し直すくらいしか思いつきません。 マクロでこんな感じでしょうか。 (Mook)
Sub リンクパス変更() Const 旧パス = "D:\Data\あ\" Const 新パス = "D:\Data\い\"
Dim リンク As Hyperlink For Each リンク In ActiveSheet.Hyperlinks If InStr(リンク.Address, 旧パス) > 0 Then リンク.Address = Replace(リンク.Address, 旧パス, 新パス) End If Next End Sub
書き込むことが合っているか自信がないのですが…
例えば「あ」フォルダが「1」フォルダに入ってるとします。 Aというファイルにハイパーリンクするとなると、その階層は〜\1\あ\ア\〜となるはずです。 (1フォルダにあフォルダがあり、あフォルダにはア・イ等のフォルダがある) それが、「あ」フォルダの居場所が「2」フォルダに動いちゃったとします。 そうすると階層が〜\2\あ\ア\〜と、「あ」フォルダの手前が変わっちゃいます。
ハイパーリンクはもう階層を決まってやるわけですから 変えてしまうとリンクを設定しなおすしかない気がします。
(三角) Mookさんのマクロで新しく設定しなおすことがお勧めです。
逆に面倒かもしれんが。
セルにパスを入れておいてHYPERLINK関数を使ってはどうか? フォルダを変更した場合には置換でセルに入力してあるパスを一括変更できる。
あるいはA1セルに変更されるパス名を入力しておいて個々のセルにはそれ以降のパス名を入れてHYPERLINK関数では そのパス名を組み合わせるようにしておけばA1セルを変更するだけで済む。 (ねむねむ)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.