このQ&Aは役に立ちましたか?
Excel 2016 ハイパーリンク一括変更
2023/10/13 22:42
- ハイパーリンクの参照先を一括で変更する方法を教えてください。
- 具体的には外付けディスクの参照先を変更したいです。
- Excel 2016でのハイパーリンク一括変更の手順を教えてください。
Excel 2016 ハイパーリンク一括変更
2021/06/06 08:53
ハイパーリンクの参照先を一括で変更したいのですが、操作方法、コマンドが分かりません、ご教授下さい。
変更したいのは、参照先の外付けディスクです。
具体的には f:\ → e:\ への一括変更です
宜しくお願いします。
※OKWAVEより補足:「NEC 121ware :ソフトウェア」についての質問です
回答 (5件中 1~5件目)
最初が3行、F列の場合はCells(3, 6).SelectですがCells(z, z).Selectは意味がありません。削除しても構いません。ブランクは不要です。「For Each h In ActiveSheet.Hyperlinks」をマウスでなぞり色を反転させデバック(D) → ブレークポイントの設定/解除(T)をすると「For Each h In ActiveSheet.Hyperlinks」は茶色になり左端に茶色の●が表示されます。実行を押すと「For Each h In ActiveSheet.Hyperlinks」で黄色」になり停止します。F8キーを押すと次の「h.Address = Replace(h.Address, "e:\", "f:\")」で停止します。その状態で「h.Address」にマウスポインタをのせると現在の「h.Address」の値が表示されます。F8押して[Nect]が黄色になった状態でh.Address」にマウスポインタをのせると変更後の値が表示されます。ブレークポイントの解除はストップ[■]を押せば黄色は消えますのでデバック(D) → すべてのブレークポイントの解除(C)で解除されます。何分ソースの状態なので説明が分かりにくいと思います。
このQ&Aは役に立ちましたか?
この質問は投稿から一年以上経過しています。
解決しない場合、新しい質問の投稿をおすすめします。
1.のコピーはオリジナルファイルを残す為で、必須ではありません。13はPublic 1行目のSub RiLink()から1行1行コンパイル&実行するためです。14を実行後なにもかわりません。、デスクトップ画面下のタスクバーのExcelアイコンにマウスを置くとシート画面とVisual Basic画面が表示されますのでシート画面をクリックし、シート画面に切り換えてシート画面を前面に表示してリンクのセルを右クリック → ハイパーリンクの編集(H) → アドレス(E)が以下に変更されていることが確認できます。
1行目 f:\¥aa.pdf → e:\¥aa.pdf
2行目 f:\¥bb.pdf → e:\¥bb.pdf
.
.
?行目 f:\xx.pds → e:\¥bb.pds
実行終了したことを分かるようにするには「Next h」と「End Sub」間に次ような1行を追加すれば表示されます。Msgbox("一括変更完了")
15でかわらないのはコピーのしかたの間違いと思います。2つのシートを並べてマクロのあるSheet1をマクロのないシートにドラッグ&ドロップすればコピーされます。なお、マクロ付エクセルファイルを保存する場合の拡張子はXlsmです。
補足
2021/06/06 20:08
ご丁寧にご教授有難うございます。初心者で理解が浅いので、時間をかけてチャレンジしてみます。また不明の場合は再度お問い合わせさせて頂きます。宜しくお願い致します
回答が的を得ていなかったらご容赦ください、
例:Sheet1のA列から絶対アドレスでリンクしてる場合
1行目 → f:\¥aa.pdf
2行目 → f:\¥bb.pdf
.
.
?行目 → f:\xx.pds
1,対象のExcelファイルをコピーする。
2,コピーしたExcelファイルを開く
3、開発をクリック
4,Visual Basic クリック
5,挿入(I)クリック
6,標準モジュール(M)クリック
7,挿入(I)クリック
8,プロシージャ(P)クリック
9.名前に任意の文字を入力(例:RiLink)してOK
10、Public Sub RiLink() ~ 空白 ~ End Subが表示
11,空白に以下をコピーして貼り付け
Dim h As Hyperlink
Sheets("Sheet1").Select
Cells(1, 1).Select
For Each h In ActiveSheet.Hyperlinks
h.Address = Replace(h.Address, "f:\ ", "e:\ ")
Next h
12,以下完成形
Public Sub RiLink()
Dim h As Hyperlink
Sheets("Sheet1").Select
Cells(1, 1).Select
For Each h In ActiveSheet.Hyperlinks
h.Address = Replace(h.Address, "f:\ ", "e:\")
Next h
End Sub
13,Public Sub RiLink()をクリックしカーソルを置く
14,実行(▶)をクリックするかファンクションキー(F5)を押す。
* Sheets("Sheet1").Selectはリンクされているシート名(ここではSheet1)
Cells(1, 1).Selectリンクされている最初の行列(ここでは1行A列)
15、コピー元を開き表示 → 整列 → 並べて表示でコピー元、コピーファイルを表示してコピーファイルのheet1をコピー元にコピーする
作成たコピーファイルを保存する場合は、拡張子をxlxmにして保存
補足
2021/06/06 17:29
項番14、15を実行しても何も変わりません操作手順に誤りが有るのでしょうか?
13番は単にカーソルを置いておけば宜しいのでしょうか?
1.のコピーは必然ですか?
お手数ですが宜しくお願いします
ハイパーリンク一括変更はVBAでしかできないようです。
https://eguweb.jp/excel/converted-link-destination-of-hyperlink-at-once
以下のようなフトもあります。
Excelで一度に複数のハイパーリンクの名前を一括変更 → https://ja.extendoffice.com/documents/excel/5906-excel-rename-hyperlink.html
お礼
2021/06/06 09:21
早々の回答ありがとうございます。
VBAを使用する事は承知しており、外付けHDDのリンク先アドレスを変更する具体的コマンド&操作手順を知りたかったので質問しました
補足
2021/06/07 17:32
たびたびすみません、やはり、うまく行きません
質問ですが
>Cells(1, 1).Selectリンクされている最初の行列(ここでは1行A列)
ハイパーリンクの最初が3行、F列の場合はCells(3, 6).Selectの記述で宜しいですか
(1,のうしろにブランクが必要ですか?