[[20110316151605]] 『他のブックへのリンク絶対パスについて』(chiki)  ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『他のブックへのリンク絶対パスについて』(chiki)

EXCELの他のブックへのリンクについての質問です。
環境:EXCEL2003 SP2 WinXP

EXCELのリンクの管理と格納
http://support.microsoft.com/kb/328440/ja
については読んだのですが、絶対パスの指定の仕方について理解できなかったので質問させてください。

EXCELでのブック間のリンクは、EXCELは必要な情報しか格納せず、基本的に相対パスになるという理解をしています。
しかしながら、場合によっては意図的に絶対パスを使用したい場合があるので、この場合のリンクの指定の仕方を確認したいです。
手動でUNCパスをセルに指定すれば、自動的に絶対パスになるのでしょうか。

相対パスで保存されている場合も、リンク元のブック(Source.xls)を開いてなければ、リンク先のブック(Linked.xls)の対象セルに保存されている
ブック名は見かけ上は絶対パス(\\サーバー名\フォルダ名¥ファイル名)と同じになります。

どこかプロパティでも見ると絶対パスであるか参照パスであるかわかるのでしょうか。

ご存知の方お教えください。どうぞよろしくお願いします。


 エクセルが勝手にやってしまう事なので
 なかなか難しそうですね。
  方法があるなら、もうレスが付いていても良さそうですし。

 以下、解決につながるかどうかは分かりませんが
 それでも宜しければ 教えて下さい。

 それぞれどの様にリンクした二つのブックを作製し
 どちらのブックをどこに移動させたとき
 リンクが勝手にどうなるのを、どう言ったままにしておきたいのでしょう?

 (HANA)

HANAさん、お返事ありがとうございます。

簡潔に言うと絶対パスの設定の仕方がわからないのです。

同じフォルダ内(C:\temp)に
リンク先のファイルLinked.xlsがあり、リンク元のファイルがSource1.xls,Source2.xls...と複数ある状態で、リンクは問題なく貼れていました。
この時点でリンクを設定したセルには「'C:\temp\[Source1.xls]Sheet1'!A1」リンク先ソースが表示されています。
その後Linked.xlsファイルを他のフォルダに移動する必要があり、移動したところ、リンク設定したセルには「'C:\temp\[Source1.xls]Sheet1'!A1」とあるにもかかわらず、リンクエラーになりリンク貼りなおしが生じます。
ならば最初から絶対パスを設定しようと「'C:\temp\[Source1.xls]Sheet1'!A1」をそのまま入力しても、上記のように移動すると結果は同じになります。絶対パスの指定の仕方が間違っているのでしょうか。

どうぞよろしくお願いします。chiki


 >その後Linked.xlsファイルを他のフォルダに移動
 このフォルダは、現在のフォルダとどの様な位置関係のフォルダですか?

 例えば、tempフォルダの中に temp1フォルダを作製し その中に移動したら
 セルの数式は
 ='C:\temp\\temp1\[Source1.xls]Sheet1'!A1
 になって、この場所(temp1フォルダの中)に Source1.xlsは無いので
 設定が必要に成りますね?

 >移動したところ、リンク設定したセルには
 >「'C:\temp\[Source1.xls]Sheet1'!A1」とあるにもかかわらず
 この様に成る為には、どこに有るフォルダにどの様に移動すればよいのか
 教えて下さい。

 (HANA)

 もしかして、ハイパーリンクの事ですか?
 私は「=」でセル参照しているリンクの事かと思ってますが。。。

 (HANA)

HANAさん、すみません。私が書き間違えました。HANAさんのおっしゃるとおり
>='C:\temp\\temp1\[Source1.xls]Sheet1'!A1
 >になって、この場所(temp1フォルダの中)に Source1.xlsは無いので
 >設定が必要に成りますね?
そう、まさに下の階層に移したいのですが、そうすると、式が相対参照で勝手に変わってしまいます。
これを絶対参照でパス指定してLinkedファイルをどこに動かしても大丈夫なようにしたいのですが。

ちなみにハイパーリンクではありません。=のセル参照です。

混乱させてすみません。
chiki


 残念ながら、出来ないと思います。

 一番良いのは、ブック間リンクをしないことですが。。。

 案1
  Linked.xlsを一旦開き、temp1フォルダに保存してから
  tempフォルダの方の元のファイルを削除
  すると、数式は変わらないと思います。

 案2
  現在の様にファイルを移動して
 「='C:\temp\temp1\[Source1.xls]Sheet1'!A1」の状態で開いた後
  【temp1\】を置換で削除。

 >絶対参照でパス指定してLinkedファイルをどこに動かしても
 >大丈夫なようにしたいのですが。
 同じ様なご要望は、少なくないと思います。

 (HANA) 

HANAさん、いろいろありがとうございました。
MSの上記のhttp://support.microsoft.com/kb/328440/jaには絶対パスが指定できると書いてあったので、私のやりかたの問題かと思い質問させていただいたのですが。
お時間いただきすみませんでした。
chiki

 その記述が何の事を言っているのか よく分かりませんが

 ●リンク先のファイルを複数の異なるコンピュータに移動し、
  リンク元のファイルを 1 つの場所に置く場合〜
 ●ブックがネットワーク ドライブ経由で開かれた場合〜
 等と書いてあるので、今回試してみた事として

 2台のパソコン(PCA と PCB)が有った時に
 PCA の Cドライブの下に tempフォルダを作成。
     その中に、Link.xls と Source1.xls を作成し リンクを作成
     ='C:\temp\[Source1.xls]Sheet1'!A1
 PCB の Cドライブの下に tempフォルダを作成。
   その中に、Source1.xls を作成。

 この状態で、PCAの Link.xls を PCBのtempフォルダの中に移動すると
 PCBのCドライブに有る Link.xls は、PCBのSource1.xlsの値を参照します。
     ='C:\temp\[Source1.xls]Sheet1'!A1

 しかし、PCBのCドライブに有る Link.xls を開き、PCAのCドライブにあるSource1.xlsにリンクする
     ='\\PCA\C\temp\[Source1.xls]Sheet1'!A1
 と、このLink.xlsファイルは、その後 PCB内の何処に移動しても
 PCAのSource1.xls を参照します。

 もしももう一つ別のパソコン PCC に移動しても
 やはり PCAのSource1.xls を参照します。

 ただし、PCAに移動させると 元の ='C:\temp\〜 に戻ってしまう様ですが。

 こう言った事かな。。。と思っています。

 「リンクが勝手に変わる」とか「リンクが勝手に変わらない」とか
 色々ご質問が寄せられますが、私が今まで見てきた内では 何か設定で
 それらを解決する様な手法に出会った記憶は有りません。

 設定出来ると便利そうですけど
 実際にエクセル内部で行われている事は
 もっと複雑なんでしょうね。。。

 (HANA)

HANAさん、本当にいろいろありがとうございます。
これは絶対参照、これは相対参照と明示的に設定できると本当に便利なのですが。
今回こちらに質問させていただきよかったです。これからもよろしくお願いいたします。chiki

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.