当ページのリンクには一部広告が含まれています。
うさねこ気まぐれPG開発室

Excel VBA 別のエクセルブックを開くOpenメソッド OPEN時にエラーをLink出したくない

© UsaNekoSanpo
広告

広告

エクセルブックを開くOpenメソッド

うさこちゃん
うさこちゃん

このサンプルは自分以外のエクセルブックを開いて操作する場合のやり方です。

サンプルコード

うさこちゃん
うさこちゃん

ブックを読み取り専用モード・リンクの更新なしで開きます。
単純に開きたい場合は「ReadOnly:=True, UpdateLinks:=0」は必要ありません。

    Dim ObjOpenBook           As Object
    Dim StrOpenFilePath       as string

    StrOpenFilePath = "C:データ.xlsx"
    

    'ファイルを開く
    '--Set ObjOpenBook = Workbooks.Open(StrOpenFilePath) 単純に開く場合はこちら
  Set Workbooks.Open(StrOpenFilePath), ReadOnly:=True, UpdateLinks:=0)
    
    
    ' ------------------------------------------------------------------------
    ' 処理
    ' ------------------------------------------------------------------------


    'ファイル閉じる。
    Workbooks(ObjOpenBook.Name).Close
    

読み取り専用で開く

うさこちゃん
うさこちゃん

読み取り専用モードで開くには「True」指定

ReadOnly:=True

外部参照 (リンク) の更新方法指定 (OPEN時にエラーをLink出したくない)

うさこちゃん
うさこちゃん

ファイル内の外部参照 (リンク) の更新方法を指定します。
この引数が省略された場合はリンクの更新方法を指定するように求められます。
外部ファイル(リンク先)がない場合はエラーが出るので、指定したい場合に利用するとよいです。

UpdateLinks:=0

説明
0ブックを開いたときに外部参照 (リンク) は更新されません。
3ブックを開いたときに外部参照 (リンク) が更新されます。

読み込み専用・リンクの更新なしのサンプル

Workbooks.Open(StrOpenFilePath), ReadOnly:=True, UpdateLinks:=0)

免責事項

本記事のサンプルプログラムは実行を保証するものではなく、利用に伴う結果について一切の責任を負いません。


執筆者:うさねこ