このサイトの記事内では「アフィリエイト広告」などの広告を掲載している場合があります。
消費者庁が問題としている「誇大な宣伝や表現」とならないよう配慮しコンテンツを制作しておりますのでご安心ください。
問題のある表現が見つかりましたらお問い合わせよりご一報いただけますと幸いです。

【VBA】リンク更新を無視してExcelファイルを開く方法(Workbooks.Open)

外部リンクのあるExcelファイルを開くと画像のようなメッセージが表示されることがあります。

手で開いているときはあまり問題ないですが、マクロで開くときには邪魔になります。

マクロを実行してコーヒーでも入れていたのに、戻ったらこのメッセージが出ていたらイライラしてしまいます(メッセージの表示中はマクロが止まるのです)

そこで、今回はこのメッセージを無視してExcelファイルを開く方法を紹介します。

VBAが難しいと感じたら
ココナラでVBAの開発請負を行っています。
お気軽にご相談ください。

リンク更新を無視してExcelファイルを開く方法(Workbooks.Open)

Sub Sample1()
    
    Dim wb As Workbook
    
    'Workbooks.OpenのUpdateLinksに0を指定する
    Set wb = Workbooks.Open(Filename:="Excelファイルのパス", UpdateLinks:=0)
    
End Sub

リンク更新を無視する方法はとても簡単です。

Excelファイルを開くにはWorkbooks.Openメソッドを使いますが、このメソッドの引数でUpdateLinks:=0と指定するだけです。

UpdateLinksはファイル内の外部リンクの更新方法を指定する引数で、0を指定すると更新なし(メッセージが出ない)となります。

外部リンク付きのExcelファイルを開くときに活用してみてください。

Workbooks.Openメソッドの引数一覧

ちなみに、Workbooks.Openメソッドには以下のような引数を指定できます。

名前説明
FileName開くブックのファイル名
UpdateLinksブックの範囲への参照などの、ファイル内の外部参照 (リンク) の更新方法を指定します。 この引数が省略された場合は、リンクの更新方法を指定するように求められます。
ReadOnlyブックを読み取り専用モードで開くには、True を指定します。
Formatテキスト ファイルを開く場合は、この引数で区切り文字を指定します。 この引数を省略すると、現在の区切り文字が使用されます。
Passwordパスワード保護されたブックを開くのに必要なパスワードを指定します。 この引数を省略した場合、パスワードが必要なブックでは、パスワードの入力を促すダイアログ ボックスがユーザーに表示されます。
WriteResPassword書き込み保護されたブックに書き込みをするために必要なパスワードを指定します。 この引数を省略した場合、パスワードが必要なブックでは、パスワードの入力を促すダイアログ ボックスがユーザーに表示されます。
IgnoreReadOnlyRecommended[ 読み取り専用を推奨する] チェック ボックスをオンにして保存されたブックを開くときでも、読み取り専用を推奨するメッセージを非表示にするには、 True を指定します。
Originファイルがテキスト ファイルの場合、この引数でファイルの作成元を指定します。これにより、コード ページと改行コード (CR/LF) を正しくマッピングできます。 使用できる定数は、XlPlatform クラスの xlMacintosh、xlWindows、xlMSDOS のいずれかです。 この引数を省略すると、現在のオペレーティング システムが使用されます。
Delimiterファイルがテキスト ファイルで、Format 引数が 6 の場合は、この引数は区切り記号として使用する文字を指定する文字列です。 たとえば、タブには Chr(9) を、カンマには “,"、セミコロンには “;" を使用し、またはカスタム文字を使用します。 文字列の最初の文字のみが使用されます。
Editable開こうとしているファイルが Excel 4.0 のアドインの場合、この引数に True を指定すると、アドインがウィンドウとして表示されます。 この引数に False を指定するか、この引数を省略すると、アドインは非表示の状態で開かれ、ウィンドウとして表示することはできません。 この引数は、Excel 5.0 以降で作成されたアドインには適用されません。開こうとしているファイルが Excel テンプレートの場合、 True を指定すると、テンプレートが編集用に開きます。 False を指定すると、テンプレートを基に新しいブックが開きます。 既定値は False です。
Notifyファイルが読み取り/書き込みモードで開けない場合に、ファイルを通知リストに追加するには、True を指定します。 ファイルが読み取り専用モードで開かれて通知リストに追加され、ファイルが編集可能になった時点でユーザーに通知されます。 ファイルが開けない場合に、このような通知を行わずにエラーを発生させるには、 False を指定するか省略します。
Converterファイルを開く際に最初に試すファイル コンバーターのインデックスです。 指定されたファイル コンバーターが最初に試されます。このコンバーターがファイルを認識できない場合、他のすべてのコンバーターが試されます。 コンバーター インデックスは FileConverters プロパティで返されたコンバーターの行番号で構成されています。
AddToMru最近使用したファイルの一覧にブックを追加するには、 True を指定します。 既定値は False です。
LocalExcel の言語設定 (コントロール パネルの設定を含む) に合わせてファイルを保存するには、True を指定します。 Visual Basic for Applications (VBA) の言語設定に合わせてファイルを保存する場合は、False (既定値) を指定します。VBA の設定は、通常、Workbooks.Open を実行する VBA プロジェクトが Excel バージョン 5 または 95 の各国語版で作成されたプロジェクトでない限り、英語 (米国) になります。
CorruptLoad使用できる定数は、xlNormalLoad、xlRepairFile、xlExtractData のいずれかです。 このパラメーターに値が指定されていない場合の既定の動作は xlNormalLoad になり、OM を通じて開始するときに回復は行われません。
Workbooks.Openメソッドの引数一覧

VBAが難しいと感じたら
ココナラでVBAの開発請負を行っています。
お気軽にご相談ください。

VBA

Posted by やろまい