A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
こんにちは。
大変失礼しました。私は、質問を読み違えてしまいました。
変更したのは、下の部分のOpenFiles の部分だけです。
これで様子をみてください。
'//
Sub RemoveHeperlinkObject()
Const mPATH As String = "C:\Users\[UserName]\My Documents\Test1\" '行末には¥を入れること
Dim FName As String
FName = Dir(mPATH & "*.xls?", vbNormal)
Do While FName <> ""
If FName <> "." And FName <> ".." Then
If (GetAttr(mPATH & FName) And vbNormal) = vbNormal Then
Call OpenFiles(mPATH & FName)
End If
End If
FName = Dir
Loop
End Sub
'//
Sub OpenFiles(ByVal fn As String)
Dim flg As Boolean
Dim ar As Variant
Dim n As Variant
With Workbooks.Open(fn) 'これ以下変更
ar = .LinkSources(Type:=xlLinkTypeExcelLinks)
If Not IsEmpty(ar) Then
For Each n In ar
.BreakLink Name:=n, _
Type:=xlLinkTypeExcelLinks
Next
End If
If .Saved = False Then
.Save
End If
.Close False
flg = False
End With
End Sub
'///
No.1
- 回答日時:
あくまでも、リンクだけを取り去ればよいのですね。
文字は、そのままです。もし、ファイル数が多い場合は、On Error トラップを設けて、エラーで止まらないようにしますが、今回は、少ないのでそのままにしています。なお、編集されたかどうかは、タイムスタンプを見れば分かります。編集されていないファイルは、タイムスタンプは前のままです。'//
Sub RemoveHeperlinkObject()
Const mPATH As String = "C:\Users\[UserName]\My Documents\Test1\" '行末には¥を入れること
Dim FName As String
FName = Dir(mPATH & "*.xls?", vbNormal)
Do While FName <> ""
If FName <> "." And FName <> ".." Then
If (GetAttr(mPATH & FName) And vbNormal) = vbNormal Then
Call OpenFiles(mPATH & FName)
End If
End If
FName = Dir
Loop
End Sub
Sub OpenFiles(ByVal fn As String)
Dim sh As Worksheet
Dim hyp As Hyperlink
With Workbooks.Open(fn)
For Each sh In .Worksheets
For Each hyp In sh.Hyperlinks
hyp.Delete
Next hyp
Next sh
If .Saved = False Then
.Save
End If
.Close False
End With
End Sub
'///
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルのオートフィルターのしぼりをクリアーしたい 2 2022/12/24 08:36
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
- Excel(エクセル) エクセルでcsvファイルを開いてVBAを使いたい 7 2022/04/28 11:12
- Visual Basic(VBA) エクセルのマクロについて教えてください マクロを実行すると メッセージボックスが表示されて okをク 4 2023/07/05 19:32
- Visual Basic(VBA) エクセルのマクロについて教えてください マクロを実行して 作業フォルダの中にある PDFファイル名を 3 2023/07/01 15:16
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 11:27
- Visual Basic(VBA) エクセルのマクロについて教えてください 物件ごとのフォルダを作成してます そのフォルダ内にサブフォル 2 2023/07/02 17:58
- Excel(エクセル) 【マクロ】webアドレスにて指定されたCSVファイル【excelソフト表示】を印刷する件 1 2023/02/15 01:52
- Access(アクセス) Access VBA を利用して、フォルダ内のファイルの名称を変更したい 1 2023/08/03 08:27
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
このQ&Aを見た人はこんなQ&Aも見ています
-
風水の観点で選ぶ観葉植物とは?置き場所や上げたい運気ごとの注意点を紹介!
観葉植物で運気をアップするコツを、風水デザイン1級建築士の福島昌彦さんに伺った。
-
Excel VBA シート保存時のリンク解除について
Excel(エクセル)
-
EXCELマクロでブック内のリンク状態を取得する方法
Excel(エクセル)
-
エクセルで数式は残したまま他シートからのリンクを一括で外す方法
Excel(エクセル)
-
-
4
ダブルクリックで貼り付けた画像からリンクのみ削除し、画像を残したい
Visual Basic(VBA)
-
5
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
6
【ExcelVBA】マクロの入ったシートをコピーしても新しいシート内でマクロを動作させるには?
Excel(エクセル)
-
7
VBA シートをコピーする際に Copyメソッドは失敗しましたのエラーが出てしまいます
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAでセルに入力したパ...
-
Teraマクロで日付ディレクトリ...
-
excelに貼り付けた数値が勝手に...
-
PDF ファイルが開けません。
-
EXCELのマクロを使って、テキス...
-
EXCELのVBAで画像を選んだ順に...
-
CSVで文字化けしてしまうのを直...
-
エクセル 一括リンクの解除
-
ファイルを並び替えるときの「...
-
EXCELのハイパーリンクの編集を...
-
VLOOKUP関数とネットワークに置...
-
指定のファイルを開くマクロ
-
ローマ字→カタカナへ変換(エク...
-
python fbprophetについて
-
Excelのワークシート上に検索窓...
-
押したボタンの位置取得(共通の...
-
コマンドボタンを押すたびに大...
-
コマンドボタンがあるかどうか...
-
エラーになってないのにVBA...
-
ワードで画像を自動で挿入する方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAでセルに入力したパ...
-
excelに貼り付けた数値が勝手に...
-
EXCELのVBAで画像を選んだ順に...
-
Teraマクロで日付ディレクトリ...
-
ファイルを並び替えるときの「...
-
VLOOKUP関数とネットワークに置...
-
エクセル 一括リンクの解除
-
excel INDIRECT 他ファイル参照
-
エクセルファイルから指定した...
-
エディタで効率的な切り出し方法
-
PDF ファイルが開けません。
-
EXCELのマクロを使って、テキス...
-
ハイパーリンクで前回値をひき...
-
エクセルからスキャナVBAで連動...
-
EXCEL VBA ー 同一フォルダ内の...
-
CSVで文字化けしてしまうのを直...
-
エクセルマクロでファイルオー...
-
ミュージックファイルのファイ...
-
エクセルVBAでファイルを連...
-
エクセルVBA+ADOで特定のCSVフ...
おすすめ情報
ありがとうございます!
すみません、リンクも色々あるかもしれません。
マクロの記録で確認したところ、以下のようにでましたので、Breaklinkを使用するようです。
どのように修正すればよいか教えて頂けますと幸いです。
ActiveWorkbook.BreakLink Name:= _
"\\○○\○○.xlsx" _
, Type:=xlExcelLinks