マクロで「ファイル内リンクの更新」ダイアログを自動化する方法

Visual Basic

Excelで「ファイル内リンクの更新」ダイアログが表示された場合、リンクを更新するかどうかの確認が求められます。特に、マクロを使用してファイルを開く際、この確認を自動化したい場合の方法について解説します。

「ファイル内リンクの更新」を無視する方法

Excelをマクロで開く際に、「ファイル内リンクが更新されている」と表示される場合、そのダイアログで「はい」や「いいえ」を選択しなければなりません。この確認を毎回行わずに、リンクの更新を無視してファイルを開くには、マクロに特定の設定を追加する必要があります。

以下のコードを使用することで、リンクの更新ダイアログを自動的に「いいえ」と選択し、ファイルを開くことができます。

Sub OpenFileWithoutUpdateLinks()
    Application.DisplayAlerts = False
    Workbooks.Open Filename:="C:\path\to\your\file.xlsx", UpdateLinks:=False
    Application.DisplayAlerts = True
End Sub

コードの解説

このコードは、リンクの更新を無視してファイルを開くための基本的な方法です。重要なポイントは、UpdateLinks:=Falseという部分です。これにより、リンクを更新せずにファイルを開くことができます。

また、Application.DisplayAlerts = Falseを使って、Excelが表示する警告ダイアログ(リンク更新の確認ダイアログなど)を非表示にしています。ファイルを開いた後に、Application.DisplayAlerts = Trueで警告表示を元に戻します。

リンクの更新を手動で行う方法

もし後からリンクの更新を手動で行いたい場合、マクロで開いた後に以下の方法で更新を実行できます。

Sub UpdateLinksManually()
    Dim wb As Workbook
    Set wb = Workbooks.Open(Filename:="C:\path\to\your\file.xlsx")
    wb.UpdateLink Name:=wb.LinkSources
End Sub

このコードでは、開いた後に手動でリンクの更新を実行することができます。リンクの更新を必要に応じて後から行いたい場合に便利です。

まとめ

「ファイル内リンクが更新されている」というダイアログが表示された場合に、マクロを使ってリンク更新を自動で無視する方法を紹介しました。マクロ内でUpdateLinks:=Falseを指定することで、リンクの更新を無視してファイルを開くことができます。さらに、リンクの更新を後から手動で行う場合には、wb.UpdateLinkを使って更新ができます。これらの方法を活用し、作業の効率化を図りましょう。

コメント

タイトルとURLをコピーしました