[[20080709170940]] 『絶対パスが相対パスに』(cocomiki) ページの最後に飛ぶ

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

 

『絶対パスが相対パスに』(cocomiki)

 またもや、なぞの現象に悩まされています・・・。
 (以前投稿した、html保存時の文字色の話も未解決ですが・・・)

 VBAのコマンドボタンクリック時に、あるセル(列)に対して
 ハイパーリンクの設定を行っています。
 変数を組み合わせて、絶対パスで特定のフォルダへのハイパーリンクです。

 エクセルファイルは、共有フォルダ内に格納しています。
 自分のPC上で作業していて、何も問題なくリンク先のフォルダを開く事ができていました。
 昨日、初めて他の方のPCで開いたところ、リンク先が開けずに
 「このサイトのアドレスが正しくありません。アドレスを確認して、再度実行ください。」と出ました。

 そこで、ハイパーリンクの編集から、アドレスを確認したところ
 絶対パス(\)で記述していたはずのパス名が(../../ほにゃらら/)と相対パスで表示
 されてしまっています。しかも階層が実際より1つ多いし。わけわかりません。

 試しに、自分のPC上で再度コマンドを実行してみたら
 上手く開けるようになり、アドレスを確認したところ
 きちんと、マクロでの記述通り、絶対パスでのアドレスになっていました。
 (まあ、きちんと開けたので当然といえば当然ですが・・・)

 バージョンによって何か違ったりするような内容でしょうか?
 自分のPC(Excel2003)、他の方のPC(Excel2002)

 このぐらいしか、思いあたる事がありません・・・。

 ちなみに、このハイパーリンクを設定したセルは
 他のコマンドで、Accessファイルへの転送もしており、
 その際、セルの中のHyperlinks(1)も一緒に移行していますが
 何の問題もありません。

 ハンドルネーム、COCOさんが先にいらっしゃったようで失礼しました。
 紛らわしいので、(coco)改め(cocomiki)にさせて頂きます。
 宜しくおねがいします。
 (cocomiki)

 ***********************

 なんとか、現象の原因はつかめました。
 が、肝心のどうしたら回避できるかが、私には下記リンクを読んでも
 分からないのです(>_<)

 どなたか、これを読んで対処法が分かる方、教えてください。

 あと、バージョンに相違はなかったようで
 どのPCもExcel2003でした。

 マイクロソフトサポートのURL
http://support.microsoft.com/kb/328440/ja

 よろしくお願いします。
 (cocomiki)


 > マイクロソフトサポートのURL http://support.microsoft.com/kb/328440/ja
 面白いページを見つけて貰えましたね。
 薄々そんなルールがあるのではないかと思ってはいたのですが、
 こんなに整理されたものがあったとは、知りませんでした。

 ただ、これは「外部ブックを参照する数式」の話がおもで、
 記事の中には「ハイパーリンク」と云う文字は、一回しか出現していません。

 なので、ハイパーリンクに全部当て嵌るのかどうかチョッと不安です。

 いずれにしても、「絶対パス」と見えても「ファイルが記憶しているパス」は、
 そうとは限らないと云う趣旨の解説なので、見た目で判断は禁物だと思います。

 今までのご説明では、状況がまだ不明確なので、以下の点を補足されたらレスが付くかも知れません。

 >VBAのコマンドボタンクリック時に、あるセル(列)に対して
 >ハイパーリンクの設定を行っています。
 >変数を組み合わせて、絶対パスで特定のフォルダへのハイパーリンクです。
   1.どの様な変数を使って、どのような絶対パスを作り上げたのですか?

 >エクセルファイルは、共有フォルダ内に格納しています。
   2.共有フォルダはどのコンピュータの何処に存在するのですか?
     「ほにゃらら」的な表現にならざるを得ないかも知れませんが、
     この記事の様に「C:\Mydir\Files\Myfiles1\Linked.xls」「C:\Mydir\Files\Source.xls」くらいの
     具体性が欲しい気がします。

 >自分のPC上で作業していて、何も問題なくリンク先のフォルダを開く事ができていました。
 > 昨日、初めて他の方のPCで開いたところ、リンク先が開けずに
   3.他の方もVBAのコマンドボタンをクリックして、"絶対パス"を作ってリンクを張ったのですか?
     それとも単に出来上がったファイルのハイパーリンクをクリックしただけなのですか?

   4.コマンドボタンをクリックしたのであれば、他のPCでも正しいパスが出来上がるVBAの
     ロジックになっているのですね?

 >そこで、ハイパーリンクの編集から、アドレスを確認したところ
 > 絶対パス(\)で記述していたはずのパス名が(../../ほにゃらら/)と相対パスで表示
 > されてしまっています。しかも階層が実際より1つ多いし。わけわかりません。
    5.どう云う風に一つ多くなっているのですか?
      多くなっている部分は何処なのですか(頭のところなのかな?)
      それを削除すると正常にリンクするのですか?

  (半平太)


 結論から申しますと、無事自己解決いたしましたので、ご報告いたします。

 マイクロソフトサポートのURL
http://support.microsoft.com/kb/414287/ja

 回避策「ハイパーリンクのフルパスをブックに対してそのまま保持させる」を
 設定したら、うまく解決しました。

 原因、対処法共に、まさにビンゴという内容ではないような気がするので
 すが、エラーメッセージは同じなので、結果オーライという事で(*^^)v

 (半平太)さま
 色々とご丁寧なコメントありがとうございました。
 質問の仕方など参考にさせて頂きます。
 また、困った事があった際には宜しくおねがいいたします。
 ありがとうございました。

 (cocomiki)

 


コメント返信:

[ 一覧(最新更新順) ]


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