- ベストアンサー
エクセル他ファイルへリンクの有効性確認方法と復旧手順
- エクセルシートで他ファイルへのリンクを貼った際、リンクの有効性を調べる方法はあるのか?リンクが無効になってしまった場合の復旧手順をご紹介します。
- エクセルシートのリンクが突然無効になることがあり、その原因はルートの文字化けやリンクの切れ等様々です。この記事では、無効なリンクの復旧方法とリンクの有効性を簡単に調べる方法を解説します。
- エクセルのリンクが無効になってしまった時、どのように復旧させるか困っている方へ。この記事では、リンクの有効性を確認する方法と無効なリンクの復旧手順を詳しく解説します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
手抜き版です。 1番目のシートのハイパーリンクを全部みて、2番目のシートのA列にハイパーリンクのセルアドレス、B列にリンクしているファイルをフルパス表示、C列にそのファイルの確認結果(存在すればファイル名、無ければ空白)を記録します。 B列にファイル表示があるにもかかわらずC列が空のハイパーリンクがリンク切れになります。 #リンク先がセルだったり、メールアドレスだったりした場合は考慮していません。 Sub Sample() For i = 1 To Worksheets(1).Hyperlinks.Count With Worksheets(1).Hyperlinks(i) Worksheets(2).Cells(i, 1) = .Range.Address Worksheets(2).Cells(i, 2) = .Address Worksheets(2).Cells(i, 3) = Dir(.Address) End With Next i End Sub
その他の回答 (2)
- HohoPapa
- ベストアンサー率65% (455/693)
>リンクが無効になってしまっている 私の知る限り、有効/無効のフラグ(プロパティ)はありませんので、 (1)セルに埋まるリンク先アドレスが空になっている可能性と (2)リンク先アドレスが文字化けして事実上、リンク先にたどり着けない可能性 (3)リンク先アドレスのファイルやフォルダーが 名前の変更やフォルダーの移動などが行われ、 事実上、リンク先フォルダーやファイルにたどり着けない可能性 が考えられましょう。 だとすれば、VBAを使い、 セルごとに、リンク先アドレスの有無、更に 埋まっているアドレス先にフォルダーやファイルが実在するかどうかを確認し、 確認結果を適当なシートに書き出すことになりましょう。 VBAは扱えますか? また、 課題シートのスクリーンショットをサンプル掲示できますか? これらが明らかになれば チェックするためのVBAのコードは さほど難しくはないだろうことから、 サンプル提示できるだろうと思います。
お礼
何度も済みません。 今新規に質問を起こして、「画像の添付」からjpeg ファイルを選択したのですが何度やっても「ファイルが選択されていません」で取りあえずUPしてみたのですがやはり添付されていませんでした。 もはやここからやり成り直しますので申し訳ありません。 とほほ・・・
補足
早々のご回答ありがとうございました。 原因は(2)と(3)が有るようです。 VBAは下書きが無いと扱えないレベルで、簡単なものはマクロの記録を下書きに試行錯誤で使えるようになることもあります、のレベルなのでご提案に甘えてスクリーンショットを添付させてもらいます。 D列の化合物名から、それぞれのカテゴリー別の専用フォルダーのPDFファイルにリンクが張ってあります。 お手数をおかけしますが何卒宜しくお願い致します。 と、早々に追記したのですが、画像ファイルが添付できずに、何度も同じ文書を書いてはを繰り返し、気付いたら質問のところでしか画像は添付できないようなので、直ぐに新しい質問として投稿させていただきますので何卒宜しくお願い致します。
- aokii
- ベストアンサー率23% (5210/22062)
お礼
ご回答ありがとうございました。 お礼が遅れたのは、リンクからチェックアプリをDLし、zipファイルの解凍までは問題なかったのですが、起動時にエラーが発生してしまいました。 何度か再DLして試したのですが起動せずでしたのであきらめました。 残念! お手数をかけしました。
お礼
毎度お手数をおかけしますが、今回も解決できました。 何より200件もの無効の発生に関し、再発防止策が取れそうなのでこれが助かります。 本当にありがとうございました。 mt2015-さん 誠に申し訳ありませんが、ここにHohoPapaさんへの返事を書かせていただきますがご了承ください。 HohoPapa-さん 画像ファイルを提示するつもりでしたが上記のように解決しましたので今回はここまでとさせていただきます。 お手数をおかけし本当にすみません。
補足
昨夜試してみました。 一発でご回答の結果が得られビックリです。 当方の場合、マクロはほとんどの場合何がしかの試行錯誤で無いと動かないものだと思っていますので。 無効なリンクが200/900と思っていた以上に多かったのですが、特定のフォルダーが90%以上である事が一発で分かったので修復作業が非常に短時間で済みそうです。