- ベストアンサー
エクセル2013でのリンクの一括置換の方法と原因
- エクセル2013でハイパーリンクの一括置換方法や原因について教えてください。
- エクセル2013でのリンクの一括置換方法と、ハイパーリンクの変更原因について教えてください。
- エクセル2013でのリンクの一括置換方法と、リンクが変更される原因について教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
いくつか不明点があるので確認させてください。 ・ハイパーリンクのアドレスの確認方法 file://C\Users\Admin\Music\データ file://C\Users\Admin\AppData\roaming\Microsoft\Excel\データ ↑これって、ハイパーリンクにマウスポインタを置いたときに出る小窓に表示されているアドレスじゃないですか? 「ハイパーリンクの編集」ウィンドウのアドレスで表示されているのは、データ\abc.txtなどだけではないでしょうか。 ・「データ」はフォルダかファイルか file://C\Users\Admin\Music\データ ←このデータはフォルダですか? ・Excelファイルの保存場所 問題となっているExcelファイルはどこに保存されていますか? C:\Users\Admin\Music\ ←この中ですか? (そうだとして次の不明点) ・ファイルの開き方 問題となっているExcelファイルは、どのように開いていますか? 履歴から開くのではなく、直接C:\Users\Admin\Music\にあるファイルをダブルクリックで開くとハイパーリンクのパスはどうなりますか? --------------------------------- 以上を踏まえて ファイルを直接C:\Users\Admin\Music\から開いてハイパーリンクのパスが正しいのならば、ファイルの開き方を正せばいいですね。 直接開いてもパスがおかしいのなら、そのファイル自体がおかしいか、ハイパーリンクの設定方法がおかしいか、Excelに不具合がでているか、理由はわかりません。 (テスト的に新規ファイルを作成して確認してみるとか) 最初に 「ハイパーリンクの編集」ウィンドウのアドレスで表示されているのは、データ\abc.txtなどだけではないでしょうか と聞きましたが、そうならハイパーリンクが相対パスに変換されたのが原因です。 且つ開かれたExcelファイルが C:\Users\Admin\AppData\roaming\Microsoft\Excel\ から開かれているということになります。 (相対パスだと、Excelファイル単体を他の場所に移動するとリンク切れが起こります) 正しいファイルを開いているのに、なぜ違う場所のファイルが認識されるのかはわかりません。 本来この場所は、自動回復用ファイルの作成場所なのですが・・・ もしこのまま使っていくのであれば、相対パスを絶対パスに変更すればリンク切れは防げます。 Excelそのもののオプション設定を変更するか、ファイル単体で設定するかのどちらかです。 ※参考サイト Excelオプション変更:http://blog.livedoor.jp/yorinaga/archives/51978597.html ファイル単体で設定:http://excel-ubara.com/excel2/EXCEL315.html バージョン違いますがわかりますよね。 絶対パスから相対パスに変換されるのは保存時なので、絶対パスに変更する前に設定の変更をしておきましょう。 あとは、naoto0216さんが教えてくれた方法で 置換元は データ 置換するのは C:\Users\Admin\Music\データ でしょうか。 ***【注意】*** 正確なファイルの保存場所等が把握しきれていないので、上記でもダメかもしれません。 「多分こんな構成になってるんじゃない?」という私の思い込みがあるので間違えてたらごめんなさい。 要は、元になるのはハイパーリンクの編集で表示されるアドレスです。 Cの後の:を忘れたりしてるので、お気を付けを。 ************ 実行したら、ハイパーリンクの編集でアドレスが絶対パスになっていることを確認してください。 ハイパーリンクが正しくなったのならファイル保存をして、再度ハイパーリンクの編集を開き、絶対パスのままなら大丈夫です。
その他の回答 (3)
- naoto0216
- ベストアンサー率46% (183/391)
<補足> Replaceの箇所についてですが、 Replace(i.Address, "現在のパス", "変更したいパス", , , vbTextCompare) です。 要するに、"現在のパス"を"変更したいパス"に置換しています。 なので、現在のパスが間違っていると、置換できません。 例えば、ハイパーリンクでhttp://www.aaa.co.jp があったとして、それを http://www.bbb.co.jpに変更したい場合、 Replace(i.Address, "aaa", "bbb", , , vbTextCompare) とすれば、http://www.bbb.co.jp に変更されます(aaaの部分をbbbで置換)。 今回の場合は、 file://C\Users\Admin\AppData\roaming\Microsoft\Excel\ の部分を file://C\Users\Admin\Music\に置換する・・・ってことになります。 ※よくよく見るとAdminまでは同じなので、\AppData\roaming\Microsoft\Excel\ を\Music\ に 置換した方がよいかもしれません。
お礼
> naoto0216さん 何度も回答いただきありがとうございます。 2度目にいただいた回答にしたがって再度やってみましたが、現在のところリンクが書き換えられた形跡はみられませんでした。 (書き換えたいリンクについては一語一句間違いがないか、何度も確認したので間違いはないはずなのですが^^) 補足いただいた内容について、再度時間をかけて挑戦してみます。 とりあえず、感謝申し上げます。 お手数おかけして申し訳ありません。
- naoto0216
- ベストアンサー率46% (183/391)
F5を押してもメッセージが出たりはしません。 ハイパーリンクが file://C\Users\Admin\Music\データ に変更されてませんでしょうか。
- naoto0216
- ベストアンサー率46% (183/391)
そのシートを開いた状態で、Alt+F11を押します。 VBEの画面が開くので、挿入⇒標準モジュールを選択します。 そこに、 Sub Macro1() Dim i As Hyperlink For Each i In Sheet1.Hyperlinks i.Address = Replace(i.Address, "file://C\Users\Admin\AppData\roaming\Microsoft\Excel\", "file://C\Users\Admin\Music\", , , vbTextCompare) Next i End Sub を貼り付けて、最後に実行(F5)してみて下さい。
お礼
早速の回答ありがとうございます。 回答いただいた通り実行しましたが、なんら変化がないように思われます。 F5にて実行した後になにかすべきことがあるのでしょうか? エクセル初心者で十分理解できないでいます。 再度ご回答いただけたらありがたいです。 なお、この時点でベストアンサーにするを押してしまうと回答受付が終了してしまうようで、不安で押せないでします。 タイミングをみてベストアンサーとさせていただこうと思います。 ごめんなさい。
お礼
> Green_Treeさん、ありがとうございます > これって、ハイパーリンクにマウスポインタを置いたときに出る小窓に・・・ おっしゃるとおりです > このデータはフォルダですか? いいえ、ファイルです > C:\Users\Admin\Music\ ←この中ですか? はい、Musicフォルダのなかに保存してます > Excelファイルは、どのように開いていますか? スタートボタンのExcelのアイコンにマウスを乗せるとメニューの横に「最近使ったもの」にファイル名が表示されますよね、そこから開いていました。 Musicフォルダから直接開く・・・ Green_Treeさんの回答で改めて直接ひらいてみたら、、、、、 ナ・・・ナント!リンクが元に戻ってます!! これで当初考えていた、「リンクの一括置換」をしなくてすみますね。 この数日間、いろいろ試行錯誤してきましたが「ファイルから直接開く」という初歩的なことで解決するなんて! 目からうろこです。 今回のこのトラブルをいい教訓に、これから絶対パスにてファイルを作成しようと思います。 naoto0216さん Green_Treeさん お二人ともご親切にありがとうございました。 先に回答いただいたnaoto0216には申し訳ありませんが、今回は直接解決に至ったGreen_Treeさんの回答をベストアンサーとさせていただきます (*_ _)人ゴメンナサイ 感謝します(*- -)(*_ _)ペコリ