ハイパーリンク先が突然一括して内容が変わっていました。元に復元する方法を教えてください。
現在音楽ソフトMeseScoreで楽譜を作成し、エクセルの一覧表からリンクして楽譜を呼び出しています。数は2000位あります。今までは例えば「file:///C:\Users\NEC-PCuser\Documents\1楽譜作成\ACO\ア行\ありがとう.mscz-」とカーソルを置くと表示されていましたが突然すべてが「Documents\1楽譜作成\ACO」の部分が「AppData\Roming\Microsoft\Excel」変わり「file:///C:\Users\NEC-PCuser\AppData\Roming\Microsoft\Excel\ア行\ありがとう.mscz-」のように、そのエクセルの他のシートも含め全部変わってしまいました。(Web上でマクロを使う旨の説明があり、試してみましたが、良く分かりませんで諦めていました)今200位は個別に復元しましたが、大変な作業になり困っています。一括復元のやり方をお教え下さい。よろしくお願いします。
A 回答 (8件)
- 最新から表示
- 回答順に表示
No.8
- 回答日時:
リンクのあるシートを開いているなら微妙な表現ですが、やり方は、おそらく間違っていないかと、
>デスクトップにある曲名2というブックのセルを右クリックで、「リンクの編集」をクリックで、現在書かれているリンクアドレスにRomingの文字は含まれていますか?
どの様なリンクアドレスになっているのでしょうか、、
プログラム(処理)の内容を説明しておきます。
上から下に実行されていきます。
For Each h In ActiveSheet.Hyperlinks は、アクティブシート内のハイパーリンク(編集で出てくるリンク)に対し
If h.Address Like "*Roming*" Then リンクのアドレス(文字列)の中にRomingが含まれていれば
h.Address = Replace(h.Address, "AppData\Roming\Microsoft\Excel", "Documents\1楽譜作成\ACO", compare:=vbTextCompare)
リンクのアドレスに含まれるAppData\Roming\Microsoft\ExcelをDocuments\1楽譜作成\ACOに置き換えなさい。compare:=vbTextCompare テキスト並びですよ
i = i + 1 カウントを1足して です。
End If
つまり、0件と言う事は、IFからEnd Ifの間を一度も通らなかったことを意味しています。
逆に言うと、シート内のすべてのリンク文字列にRomingが含まれていないと言う事になります。
いずれにしても、最初の原因は、何だかの不具合があった為と思われます。リンク先ファイルが自動保存先のアドレスになるのは、私は知りませんでしたし
複数のファイルで同様の現象というところも、合点がいきません。複数のブックで不具合と思われる事象が発生した場合は、基本として
Officeの修復を行います。バージョンなどで手順が若干違いますが、Google先生に聞けばすぐわかります。
VBAで書き換えてしまうというのは、少し強引なのかも知れません。
勿論、時間は限られますが、最後までお付き合いいたします。
また、bonaron氏のご提案(回答)も確認してみてください。
根本的な原因が解消され、不具合が治るかも知れません。
いろいろアドバイスありがとうございました。
セルを右クリックしリンクの編集をクリックするとアドレス(E)にAppData\Roming\Microsoft\Excelが表示されます。
このところパソコンの調子が悪いので、それの不具合と思います。又、3か月位前までのデータは別にバックアップもしていますし、リンク先の元データはそのまま存在しているので、利便性が失われただけですから1件ずつ修復します。
このような素人にお付き合いいただき、ありがとうございました。
No.7
- 回答日時:
知らない間に何か事故があったのでしょうか。
https://www.atmarkit.co.jp/ait/articles/1709/29/ …
ハイパーリンクはデフォルトで相対パスになっていますから
そのブックを「Documents\1楽譜作成\ACO」に移動するだけで回復するような気がします。
まずブックの位置を確認しましょう。
VBE の画面で
ツールバーの [表示] - [イミディエイトウィンドウ] で、イミディエイトウィンドウを表示し
? Thisworkbook.Path
と入力し Enter。
これで現在のファイルの在処が表示されますが、正しいですか?
正しくなければ名前を付けて保存で、在るべきところに保存し直してみてください。
すでに同じ名前のファイルがあった場合は、安全のために
上書きせずに、名前も変えてみた方がよいでしょう。
ありがとうございます。正しい場所(デスクトップ)にブックは表示されています。
今困っているのは、このブックはドキュメント内にある音楽ソフトで作成した楽譜数千の曲名を一覧にまとめ目次として使用しており、この目次からドキュメント内の楽譜にリンクさせています。エクセルの曲名のセルにカーソルをかざすと、リンク先である「Documents\1楽譜作成\ACO」の部分が「AppData\Roming\Microsoft\Excel」に突然すべてが変わりリンク出来なくなり困っています。(もう2か月以上経過しました)一括復元が出来ればよいのですが、今は諦めて個別にハイパーリンクの編集で復元していますが件数が多いので、何か出来る方法があればと、相談した次第です。素人でもわかる方法があればご教示ください。よろしくお願いします。
No.6
- 回答日時:
すみません。
今一度、トライさせてください。
私の検証不足かも知れません。
コードを改めて示します。先ほどのコードを削除して下記をコピペしてください
認識が浅かったのだと思ます。2度手間をさせてすみません。
Sub Hyperlink変更2()
Dim h As Hyperlink, i As Long
For Each h In ActiveSheet.Hyperlinks
If h.Address Like "*Roming*" Then
h.Address = Replace(h.Address, "AppData\Roming\Microsoft\Excel", "Documents\1楽譜作成\ACO", compare:=vbTextCompare)
i = i + 1
End If
Next h
MsgBox ("完了しました。処理件数は" & i & "件です。")
End Sub
有難うございます。
エクセルの楽曲の一覧表となる「デスクトップにある曲名2というブック」のシートを開いてAlt F11から開いた「Microsoft Visual for Applications・曲名2.xlsx」の画面で、挿入⇒標準モジュール(M)から出た画面にお示し頂いたコード「Sub Hyperlink変更2()からEnd Sub」までをコピーし、コードの途中にカーソル左クリックでF5を押しました。今度は「完了しました。処理件数は0件です。」と出ました。操作が間違っているでしょうか、画像を貼付しようとしたのですが、重いのか、〇がぐるぐる回って添付できません。
大変お手間を取らせ、申し訳ございません
No.5
- 回答日時:
なるほど。
このコードは、自ブックに対して実行するので、
対象のブックを開きます。
マクロを書くVBEを開きます。AltキーとF11を同時に押します。
VBAエディタが起動します。 図で示します。
上のタグ挿入をクリックし、標準モジュールをクリックし標準モジュールを作ります。
表示されたエディタ画面に下記をコピペします。
コードは、案内を追加しました。
'-----------------ここから
Sub Hyperlink変更()
Dim h As Hyperlink, i As Long
For Each h In ActiveSheet.Hyperlinks
h.Address = Replace(h.Address, "AppData/Roming/Microsoft/Excel", "Documents/1楽譜作成/ACO")
i = i + 1
Next h
MsgBox ("完了しました。処理件数は" & i & "件です。")
End Sub
'----------------ここまで
エクセルのみが開いていると仮定して、OSのツールバーを右クリックして
表示される、ウィンドウを上下、または、左右に表示するを選びます。
ディスプレイ上にエクセルシートとVBEが並んで表示されます。
ハイパーリンクを書き換えたいシートを選択します。
VBEのコード(内)にカーソルを置き(クリックでOK)
F5を押してください。F5は、カーソルのある場所のプロシージャ(Sub)内の
プログラムを実行します。
先ずは、シートコピーなどでデモを作り、そのシートで実行して
不具合がないか検証しましょう。
対象のシートすべてで実行したら、先ず、上書き保存します。
そして、このVBAブックを残すのであれば、名前を付けて保存します。
その時、VBAを残すのであれば、マクロ有効ブックにする必要があります。
まあ、VBAは必要ないでしょう。
何度ものご丁寧にお応え頂き有難うございました。
私のマクロに対する知識がない為、お手数をお掛けしました。
最近パソコンの調子が悪い為発生したものと思われます。年寄りには簡単ではなさそうですが、マクロの研究も致します。
本当に有難うございました。
No.4
- 回答日時:
キーワードコピーの訂正が不備でした
正しくは、
Sub Hyperlink変更()
Dim h As Hyperlink
For Each h In ActiveSheet.Hyperlinks
h.Address = Replace(h.Address, "AppData/Roming/Microsoft/Excel", "Documents/1楽譜作成/ACO")
Next h
End Sub
検証した後の Debug.Print h.Addressも入れっぱなし
"Documents\1楽譜作成\ACO"でも
"Documents/1楽譜作成/ACO"でも
まあ、書き込み側なので問題ないですが、
気持ち悪いので、、一応。
No.3
- 回答日時:
アクティブシート内のすべてのハイパーリンクを検証して
AppData/Roming/Microsoft/Excelの文字をDocuments/1楽譜作成\ACOに変更します。
ハイパーリンク内の¥は、/ になります。
表面上の文字は変わりません。
新規シートなどにいくつかコピペでリンクを作り試してください。
Sub Hyperlink変更()
Dim h As Hyperlink
For Each h In ActiveSheet.Hyperlinks
Debug.Print h.Address
h.Address = Replace(h.Address, "AppData/Roming/Microsoft/Excel", "Documents/1楽譜作成\ACO")
Next h
End Sub
No.2
- 回答日時:
200位は個別に復元しましたが、
どの様にされたのでしょうか?
値(アドレスは、)何が持っていますか?一覧表のどこに2000くらいあるのでしょう。
リンクアドレスを見ると自動回復用のアドレスに代わっているようですが、、
回復前のExcelは存在しないのですか?あと、自動回復用フォルダに該当ファイルが移動しているのでしょうか?
VBAで作ろうと思いますが、上記をお知らせください。
No.1
- 回答日時:
こんにちは、該当のシートでCtrl+Hを押して置き換えを行います。
変わった文字れる(変えたい文字列)と変えたい文字列(変更後文字列)をいれ
置き換えで一つずつ確認しながら行うか、すべて置き換えで一気に行うかは、自由です。
図は参考です。内容はよく確認をして実行してください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
あなたの「必」の書き順を教えてください
ふだん、どういう書き順で「必」を書いていますか? みなさんの色んな書き順を知りたいです。 画像のA~Eを使って教えてください。
-
【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
【お題】・忍者がやってるYouTubeが炎上してしまった理由
-
最強の防寒、あったか術を教えてください!
とっても寒がりなのですが、冬に皆さんがされている最強の防寒、あったか術が知りたいです!
-
【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
「出身中学と出身高校が混ざったような校舎にいる夢を見る」「まぶたがピクピクしてるので鏡で確認しようとしたらピクピクが止まってしまう」など、 これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
-
「これいらなくない?」という慣習、教えてください
現代になって省略されてきたとはいえ、必要性のない慣習や風習、ありませんか?
-
エクセルのハイパーリンクを復活させたい
Excel(エクセル)
-
エクセルのハイパーリンクを復活させる方法
Excel(エクセル)
-
Excelのハイパーリンクのアドレスが勝手に変わる
その他(Microsoft Office)
-
-
4
添付画像のように、Excel データタブの「リンクの編集」がグレーアウトし操作できません。 「
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【選手権お題その3】この画像で一言【大喜利】
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・ちょっと先の未来クイズ第6問
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで楽譜を作成する方法
-
たじま牛の楽譜について
-
ハイパーリンクを一括復元の具...
-
ダブルシャープの書き方が分か...
-
コンビニ(セブン)で楽譜、片...
-
図書券で
-
おはよう おはよう 先生おはよ...
-
童謡「麦わら帽子にトマトを入...
-
吹奏楽部員の者です。 部活で使...
-
友達の誕生日サプライズについて
-
この曲わかる人いますか?ピア...
-
安野モヨコさん「脂肪と言う名...
-
ジャンプの年間発刊数は何冊?
-
「初恋」という言葉に対するイ...
-
吹奏楽のMCを頼まれたので原稿...
-
食わず嫌い王決定戦の実食の曲
-
帰ろうか帰ろうよというような...
-
カーロ・ミオ・ベンの歌詞
-
池袋ウエストゲートパーク「ス...
-
一気に力が抜けてしまう間抜けな曲
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで楽譜を作成する方法
-
ハイパーリンクを一括復元の具...
-
おはよう おはよう 先生おはよ...
-
ヤマハで楽譜を、図書カードで...
-
楽譜をメールで送る方法を教え...
-
カシオペア:Sailing Aloneのコ...
-
ダブルシャープの書き方が分か...
-
ジェットストリーム ミスター...
-
オーケストラ用の巨大な五線紙...
-
運がよけりゃ!!
-
都内(東京)の楽譜を売ってる店(...
-
吹奏楽部員の者です。 部活で使...
-
Il tombe enfin, et se relève ...
-
たじま牛の楽譜について
-
@ELISEのスコアのパスワード解除
-
ドラえもんの主題歌の楽譜
-
この歌のタイトル教えてください
-
友達の誕生日サプライズについて
-
シング・シング・シングの歌有...
-
「パリは燃えているか」の楽譜
おすすめ情報
早速のご教示ありがとうございます。
置換につきましては以前にも試しましたが、カーソルをかざすと表示されるだけ(エクセル画面上には入力表示されていない)なので、該当がないということでうまくいきませんでした。今もご教示通り行いましたがうまくいきませんでした。別な方法をお教えください。
早速にありがとうございます。
1、復元はエクセルの個別ファイルの一覧表のにある楽曲名(個別)のセルを右クリックで、「リンクの編集」をクリック、リンク先を「Documents⇒1楽譜作成⇒ACO⇒ア行⇒ありがとう」とクリックし個別に復元しています。
2、一覧表はエクセルで作成し、目次とし、楽曲名を記入しており個別にリンクさせています。エクセルの1つのシートに1100位の楽曲を入力しその他のシートにも同程度作成しています。
3、「自動回復用フォルダ」へのフォルダ移動はそのようなフォルダを作ったこともありませんし、存在を知りませんでした。
よろしくお願いします。
ご教示ありがとございます。
申し訳ありません。マクロの作成についての知識がありません。
申し訳ございませんが、出来ましたら、その辺からご教示ください。
ご丁寧にご教示ありがとうございました。
やってみましたが、うまくいきませんでした。
「完了しました。処理件数は1166件です。」と出ましたが、内容は変わっていませんでした。
大変お手数お掛けしました。マクロの本を先日買い求めましたが、まだ不勉強ですので、これから研究してみます。このように一括して内容が変わったのはパソコンの不具合かもしれません。本当にありがとうございました。