Improve LAB

ゲーム、ガジェット類、ITスキルなどの記事を書きます。

別のブックを開く方法

別のブックを開く

Dドライブの「EXCELデータ」というフォルダ内のbook1を開く場合

Workbooks.Open Filename:= "D:\EXCELデータ\book1.xlsx"

 ↓ のコードでも動作します。

Workbooks.Open ("D:\EXCELデータ\book1.xlsx")

変数を使って開く場合

Dim path, book  ' as ~~は書かず省略 = Variant型になる

path = "D:\EXCELデータ\"
book = "book1.xlsx"

Workbooks.Open (path & book)

マクロが記述されたブックに
パスを入力しておきそれを使うこともできます
(A1セルの入力は D:\EXCELデータ\)

path = Thisworkbook.Sheets("sheet1").range("A1").value

ワイルドカードを使って開く場合

開きたいファイルの名前の末尾が変わるなどの場合
都度書き換えるのは面倒です。

ワイルドカード(* または ?)を使用すると、
該当するファイルを開くことができます。
原理は省略しますが、Dirという記述が入ります。
「*」の場合(book1やbook20210408がすべて該当する)

Dim path, book 'variant

path = "D:\EXCELデータ\"
book = Dir(path & "book*.xlsx") 

Workbooks.Open (path & book)

「?」の場合(同じ文字数のものが該当する)

Dim path, book 'variant

path = "D:\EXCELデータ\"
book = Dir(path & "book????????.xlsx")   '?が8つなので8桁のみ

Workbooks.Open (path & book)

開く場合のオプション追加

上記のコードの後ろにカンマを付け、後ろにオプションを記述します。

読み取り専用で開く

Workbooks.Open Filename:= "D:\EXCELデータ\book1.xlsx", ReadOnly:=True

パスワード付きのファイルを開く(パスワード=1234)

Workbooks.Open Filename:= "D:\EXCELデータ\Lockbook1.xlsx", Password="1234"