[[20231002170517]] 『ハイパーリンク』(さやか) ページの最後に飛ぶ

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

 

『ハイパーリンク』(さやか)

ハイパーリンクのリンク先の変更についてです。

例えばCドライブに保存してる Aというファイルに飛べるように、ハイパーリンクをつけるとします。
そのAというファイルを元あったCドライブからFドライブに移動するとします。
ハイパーリンクはとべなくなります。

なので、絶対固定の保存先が決まってから、リンクを貼る作業をしようと思っていたのですが、
上司に報告すると「そんなの、絶対パスとか相対パスとかの設定でどーにでもなるでしょ!」
とキレられました。。。

大元の保存先が変わっても、エクセルが追随してくれるように設定することは可能なのでしょうか。

例えばJWCADであれば、確かにJWのデータと参照するデータが同じフォルダに入っていれば、
その二つのデータがどこに保存されていようが、確かにリンクが切れることはないのですが、、、
おそらく上司はそのことを言っているのだと思うのです。

エクセルでも同じように機能させる事は可能なのでしょうか。。

ご教授お願いいたします。

< 使用 Excel:Excel2019、使用 OS:Windows10 >


 どーにでもなる と言えるほど単純じゃないですけど、
 ハイパーリンクを埋めたブックも一緒に移動するなら、出来る可能性は非常に高いです。

 ・・で、実際どうなんですか? ・・と言うか、まず実験してみることです。

(半平太) 2023/10/02(月) 17:33:59


同じフォルダに写して、リンクを貼ってみたのですが、
どのみちそのフォルダもどこに保存さているかをがエクセルに反映されてしまうので、
だめでした。
(さやか) 2023/10/02(月) 17:37:13

リンク切れよりも上司キレの対策を打つべきではないでしょうか?

(同情) 2023/10/02(月) 17:43:35


ごもっとも。リンク切れより、私がキレたいです😠
(さやか) 2023/10/02(月) 17:55:43

 >同じフォルダに写して、リンクを貼ってみたのですが、
 >どのみちそのフォルダもどこに保存さているかをがエクセルに反映されてしまうので、
 >だめでした。

 いや、それだからいいんです。(初めから出来ないものと思い込んでないですか?)

 実際、たった今、Cドライブから、フォルダーごとFドライブに移して、リンクをクリックしてみましたが、
 ちゃんと、一緒にFドライブに移ったファイルが開けましたけどねぇ・・

(半平太) 2023/10/02(月) 18:05:51


え!
リンク先の編集をしなくても、ひらけたのでしょうか?
絶対パスの設定(¥)をしてますか?

また、リンクの貼り方は右クリックからリンク→フォルダ〜

関数からアドレス入力のどちらでされましたか??

色々試したのに、保存場所を変えるとアドレスが存在しませんと表示されます。

根本の貼り方が違うのかもしれません。

よろしくお願い致します。
(さやか) 2023/10/02(月) 18:23:51


 >リンク先の編集をしなくても、ひらけたのでしょうか?
 編集したらおかしくなりますよ。

 >絶対パスの設定(¥)をしてますか?
 ここの認識が一番問題なんですが、
 「絶対パス」とか言ったって、あくまでエクセルがユーザーにそう見せているだけです。

 保存・クローズ時は、「相対パス」で寝つき、
 開かれて目を覚すと
 「あれ? 俺、今どこに居るの?」
 「Fドライブかー、じゃ、俺の居場所は絶対パスの F:・・・ で、リンク先ファイルは俺と同じフォルダのAファイルだよねー」
 とか独り言をつぶやいている可能性が高いんです。

 >保存場所を変えるとアドレスが存在しませんと表示されます。
 普通にリンクを貼ったら、保存して、閉じ。
 自ブックとリンク先ブックが入ったフォルダーを(フォルダーごと)何処へ移動する。

 移動した先でブックを開き、リンクをクリックしてみてください。(とりあえず)

 ※それがダメだったら、初めてリンクの基点を調整することで突破出来ないか検討することになります。

 あと、ハイパーリンク関数を利用する手もありそうですが、
 それはまたあとの話とします。

(半平太) 2023/10/02(月) 19:20:06


全然わからない。。。どうしよう。。
(さやか) 2023/10/02(月) 19:38:54

あ、ちなみに、リンクをつける先は直接フォルダです。
エクセルではないです。
(さやか) 2023/10/02(月) 20:00:21

 

  >全然わからない。。。

 全然ですか・・・

 これも出来ないですか?
  ↓
  自ブックのシート上で下図のフォルダ子にリンクを貼って、保存して閉じる。
  自ブックとフォルダ子が入ったフォルダ(つまり下図のフォルダ親)を別のドライブのどこかに移動する。
  移動した先で自ブックを開き、リンクをクリックしてみる。

 ※ファイル階層としては、以下を想定。

    フォルダ親─┬自ブック(リンクを貼ったエクセルブック)
         |
          └フォルダ子─┬─何かのファイル1
                ├─何かのファイル2
                              └─: : : : :

(半平太) 2023/10/02(月) 20:56:18


このフォルダ親
とゆうのが、FドライブとかCドライブの認識でよろしいですか?
で、あれば、何度も試みたのです。
デスクトップにしてみたり、Cにしたり、Fにしたり。
でも、リンク設定をしたフォルダ親から動かすと、リンクがきれる状態でした。

ちなみに、エクスプローラのアドレスにはどのように表示されますでしょうか。
画像とか貼り付けれればわかりやすいのですが、このサイトでは難しそうですね(T . T)
(さやか) 2023/10/02(月) 21:14:17


 >このフォルダ親
 >とゆうのが、FドライブとかCドライブの認識でよろしいですか?

 いえ、私はそれより下層のフォルダを想定しています。

(半平太) 2023/10/02(月) 21:18:06


このフォルダ親がどこにおくかが定まっていなく、その下のフォルダは決まっているのです。。
やはりこのフォルダ親が固定の場所でない限り、リンクは切れてしまいますよね?
(さやか) 2023/10/02(月) 21:26:11

 >やはりこのフォルダ親が固定の場所でない限り、リンクは切れてしまいますよね?

 ちょっと、何を言っているのか分からないのですが、
 私の説明にあるフォルダ親は(ドライブより下層なら)どこにあっても問題ないと言う趣旨なんですけども。

 固定の場所である必要はないです。
 実験は旨く行かなかったのですか?

(半平太) 2023/10/02(月) 21:34:03


うまくいかないです。。。
(さやか) 2023/10/02(月) 21:37:37

Cドライブに保存していたフォルダ親を、Fドライブに移動した場合のお話です。😭
もしくはCドライブに保存していたものをドロップボックスに移動したり、、、
(さやか) 2023/10/02(月) 21:47:09

 そうですか・・、お役に立てず済みません。

 他の回答者のレスをお待ちください。 m(__)m

(半平太) 2023/10/02(月) 22:07:39


 ■改めて事実関係を書いてもらえますか?

 ・ファイルのパスは?
   (例)   C:\aaa\Book1.xlsx
 ・フォルダへのリンクを指定したときのアドレス記述方法は?
   (例1)   C:\aaa\bbb
   (例2)   bbb
 ・どのような動作を行ったのですか?
   (例)   C:\aaaを丸ごと、F:\aaa に移動した

 ■(勇み足的になりますが)
 例1 ではなく、例2の方式で指定すれば、リンク元、リンク先の相対的関係が変わらなければ
 移動を行っても問題なくリンクできる、といったことではないんですか?
(xyz) 2023/10/03(火) 07:41:23

現状例1です。
格納されてるドライブからのアドレスがずらーっと書かれています。

例2のようにできれば、確かにどこに保存してもみれるのはわかるのですが、例2の方法でのリンクの貼り付け方がわからない次第です。
(さやか) 2023/10/03(火) 11:04:49


 (1)ハイパーリンクのリンク先アドレスは、基本(可能な限り)相対パス
    ハイパーリンクの編集で絶対パスをいれてても、内部的には相対パスで記録されます
 (2)相対パスで記述出来ない場合(ブックとリンク先の保存ドライブが違う場合)は、絶対パス
 (3)ハイパーリンクを絶対パスにする方法も実はあるみたい
 ハイパーリンクを絶対パスにする方法
https://kokodane.com/2013_waza_083.htm

 (1)から、ブックのリンク先の相対的な位置関係が同じままフォルダを移動すれば、リンクは切れないハズ。
 それなのに、リンクが切れるというなら、(3)の設定がされているのかも?
(´・ω・`) 2023/10/03(火) 11:27:07

 半平太さんのコメントを流用して

    フォルダ親─┬自ブック(リンクを貼ったエクセルブック)
         |
          └フォルダ子─┬─何かのファイル1
                ├─何かのファイル2
                              └─: : : : :

フォルダ親が C:\ として「何かのファイル1」をハイパーリンクして、そのセルにマウスカーソルを持っていくと、

 file:///C:\フォルダ子/何かのファイル1

とポップアップすると思いますが、自ブックとフォルダ子をまとめて例えば F:\ に移動した後で同様にしたら、ポップアップはどうなります??

 file:///F:\フォルダ子/何かのファイル1

にならないと言ってます?(もしかしてトンチンカンなことを聞いてる気がしなくもないが)

(xlg) 2023/10/03(火) 11:43:52


 >あ、ちなみに、リンクをつける先は直接フォルダです。
 >エクセルではないです。
 という記述も気になりました。
 例1です、の一言で済まさずに、
 質問された3項目に省略せずにきちんと回答して欲しかったです。
 回答者との間で行き違いがあっては出発点にならないと思って、質問したのです。
 残念です。私はこれで。
(xyz) 2023/10/03(火) 12:21:34

file:///C:\フォルダ子/何かのファイル1

とポップアップすると思いますが、自ブックとフォルダ子をまとめて例えば F:\ に移動した後で同様にしたら、ポップアップはどうなります??

 file:///F:\フォルダ子/何かのファイル1

まさにこれです。

そんな都合よく、CからFになんて変わらないだろうと思って、ドライブが決まってからリンクを貼る作業を提案したのですが
上司は相対パスとか絶対パスとかの設定でどうにかできるんじゃないの?
って言ってるのです。

リンクを飛ばす先が1つであれば、編集すればいい話なのですが
100個近くあるので、、、。 

回答きちんとできず申し訳ございません。
(さやか) 2023/10/03(火) 12:28:50


> file:///F:\フォルダ子/何かのファイル1

 何も気にせずにハイパーリンクして何も考えずに移動すると、こう変わるんですけど…なぜ変わらん?
(xlg) 2023/10/03(火) 12:44:33


「さやか! いつまでも何やってるんだ!!」
もう上司の我慢も限界です。

リンク切れ からの 上司キレ からの 時間切れ

(同情) 2023/10/03(火) 13:01:20


 少し、ハイパーリンクのアドレス指定について事実関係を調べて見ました。
 質問者さんに直接的に回答する趣旨ではありません。
 閲覧者の参考になれば幸いです。

 もともとの状態は以下のとおりとします。
 D:\xyz\202310\book.xlsx  というブックがあり、これは、
 D:\xyz\202310\test       というフォルダへのハイパーリンクが設定されている、とします。
 (リンク先はフォルダではなく、特定のファイルの場合でも同じ議論になると思いますので、
   簡単な例として上記の前提とします。)

 ハイパーリンクの書き方(Address指定の方法)には、絶対参照型に相対参照型とがありえます。
     1 .絶対参照を使ったハイパーリンク
        ハイパーリンク設定時、Addressに  D:\xyz\202310\test と入力
     2 .相対参照を使ったハイパーリンク
        ハイパーリンク設定時、Addressに  test と入力

 その後、それらを別のドライブにコピーした場合に、
 それらの書き方によって、ハイパーリンクがどのような挙動を示すかを、以下に示します。

 なお、F:ドライブにコピーする方法にもいくつかの選択肢がありえます。
 例えば、以下の方式です。
   (1)F:\202310\book.xlsx,         F:\202310\test         となるようコピー
   (2)F:\xyz\202310\book.xlsx,     F:\xyz\202310\test     となるようコピー
   (3)F:\xyz\abc\book.xlsx,        F:\xyz\abc\test        となるようコピー
 (2)が一般的かもしれませんが、
 深すぎるフォルダ位置を、F:では少し浅くするといったことはありうる話だと思います。

 【結果】
                              項目                                絶対参照を使ったリンクの場合        相対参照を使ったリンクの場合
 ========================    ================================    =============================       ===============================
 (1)F:\202310\book.xlsx,     ・ハイパーリンク画面のAddress表示     ../../xyz/202310/test  (*)         test
    F:\202310\test           ・リンクにマウスを置いた時のTip表示   (何も表示されず)                  file:///F:\202310\test
    となるようコピー         ・リンククリック時の動作             「このサイトのアドレスが            正常にリンクに飛ぶ(フォルダを表示)
                                                                   正しくありません」と警告 
 (2)F:\xyz\202310\book.xlsx  ・ハイパーリンク画面のAddress表示     ../../xyz/202310/test              test
    F:\xyz\202310\test       ・リンクにマウスを置いた時のTip表示   file:///F:\xyz\202310\test         file:///F:\xyz\202310\test
    となるようコピー         ・リンククリック時の動作              正常にリンクに飛ぶ(フォルダを表示) 正常にリンクに飛ぶ(フォルダを表示)

 (3)F:\abc\def\book.xlsx     ・ハイパーリンク画面のAddress表示     ../../xyz/202310/test              test
    F:\abc\def\test          ・リンクにマウスを置いた時のTip表示   file:///F:\abc\xyz\202310\test     file:///F:\abc\def\test
    となるようコピー         ・リンククリック時の動作             「指定されたファイルを              正常にリンクに飛ぶ(フォルダを表示)
                                                                   開くことはできません。」と警告
       注(*) ・絶対指定したとしても、相対参照として管理されるとはこのことです。
             ・なお、「ハイパーリンクの基点」に"\"が指定されている場合は、この限りではありません。

 どのようなケースにも耐えられるようにするなら、
 相対参照的なAddress指定をするのが望ましいと思います。

 既にドライブ以下を書き込んだ絶対参照的書き方がある場合、
 それを相対参照型に書き換えれるには、VBAが適当でしょう。
 沢山のリンクがあったとしても、VBAを使えばさほど難しいことではありません。
 ごく簡単な例で示せば、こんなことになるでしょう。
     For Each ws In Worksheets
         For Each hyperL In ws.Hyperlinks
             hyperL.TextToDisplay = "test"
             hyperL.Address = "test"
         Next
     Next
 閲覧者の参考になれば幸いです。

(xyz) 2023/10/06(金) 09:59:43


みなさんご無沙汰しております。さやかです。

エクセルを一から新しく作り直した結果、ハイパーリンクがだこのフォルダへ移しても追随して飛べるようになりました。
直接的な原因かわかりませんが、
引き継いだデータをそのまま使用していたため、作成者が以前管理していた人になっていたからかなと思いました。

なんだか、すっきりな解決にはなりませんでしたが
リンクも切れず、上司からも切れられずに済みそうです。

みささまありがとございました♡
(さやか) 2023/10/10(火) 08:10:57


もしくは、アドインの取得をしたからか?ともかんがえたり。。
謎は深まるばかりだ
(さやか) 2023/10/10(火) 08:22:49

コメント返信:

[ 一覧(最新更新順) ]


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