フォルダやEXCELファイル(ブック)の操作
フォルダやファイルの操作について紹介します。
ブックを開く
Openメソッド
Workbooks.Open “ファイルパス”
例えば、”C:\sample”フォルダにある、”ひらちんの部屋.xlsx”を開きたい場合は
Workbooks.Open “C:\sample\ひらちんの部屋.xlsx”
ブックを保存する
SaveAsメソッド
ActiveWorkbook.SaveAs “保存したい場所のファイルパス”
ここでは、ActiveWorkbookとしていますが、WorkbookオブジェクトならOKです。
例えば、”C:\ひらちんの部屋”フォルダに、”ひらちんの部屋_VBA.xlsm”として保存したい場合は、
ActiveWorkbook.SaveAs “C:\ひらちんの部屋\ひらちんの部屋_VBA.xlsm”
とします。
同名のブックがあった場合は、何もしないと上書きするかどうかの確認が表示されます。
これを表示させずに上書き保存で進める場合は、保存操作の前に、
Application.DisplayAlerts = False
を指定します。
これは、ポップアップアラートを表示させない設定です。
処理が終わった後は、
Application.DisplayAlerts = True
で、元に戻しといてくださいね(^o^)
Sub sample()
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs "C:\ひらちんの部屋\ひらちんの部屋_VBA.xlsm"
Application.DisplayAlerts = True
End Sub
新しいブックを作成する
Addメソッド
Workbooksコレクション.Add
新しいブックを作成するには、WotkbooksコレクショのAddメソッドを使います。
通常、作成したブックはその後色々処理を行うと思うので、作ったときに変数に格納すると便利です。
Sub sample()
'作ったブックを格納する変数を用意する
Dim NewWB As Workbook
'新しいブックを作成して、作った変数に格納する
Set NewWB = Workbooks.Add
'NewWBに対して色々処理する
End Sub
ブックの保存場所を取得する
FullNameプロパティ
Workbookオブジェクト.FullName
ブックの保存されている場所を取得するには、WorkbookオブジェクトのFullNameプロパティを使うと便利です。
Sub sample()
Dim str As String
str = ActiveWorkbook.FullName
'イミディエイトウィンドウに出力する
Debug.Print str
End Sub
プロパティを取得するだけなので簡単ですね(^o^)
上記のコードでアクティブなブックのファイルの保存場所ファイル名まで表示されます。
もし、ファイル名は必要なく、保存されているフォルダのPathだけが欲しい場合は、Pathプロパティで取得できます。
Pathプロパティ
Workbookオブジェクト.Path
Sub sample()
Dim str As String
str = ActiveWorkbook.Path
'イミディエイトウィンドウに出力する
Debug.Print str
End Sub
Pathプロパティでは、ファイルが置かれているフォルダの場所が表示されます。
ブックの名前を取得したい場合は、WorkbookオブジェクトのNameプロパティを使います。
Nameプロパティ
Workbookオブジェクト.Name
Sub sample()
Dim WB As Workbook
Set WB = ThisWorkbook
'イミディエイトウィンドウに出力する
Debug.Print WB.Name
End Sub
ファイルコピーする
FileCopyステートメント
FileCopy “コピー元のファイルパス”, “コピー先のファイルパス”
例えば、”C:\ひらちんの部屋”フォルダにある”ひらちんの部屋1.xlsm”ファイルを、同じフォルダに ”ひらちんの部屋2.xlsm” として保存したい場合は、
FileCopy “C:\ひらちんの部屋\ひらちんの部屋1.xlsm”, “C:\ひらちんの部屋\ひらちんの部屋2.xlsm”
とします。
フォルダやファイル名の部分は変更しても大丈夫ですが、存在しないフォルダにコピーしようとするとエラーになります。
フォルダを作成する
MkDirステートメント
MkDir 作成するフォルダの名前
例えば、”C:\ひらちんの部屋”フォルダの配下に”ひらちんの小部屋”フォルダを作りたい場合は
MkDir ”C:\ひらちんの部屋\ひらちんの小部屋”
すでに存在しているフォルダと同じフォルダを作ろうとするとエラーになります。
コメント