この記事では、【Excel】VBAマクロでフォルダの存在チェック(確認:存在しなければ作成:同名:フォルダ内にファイルが存在するかも:空かどうか)【Dir関数、MkDir関数、Workbooks.Add、SaveAs】について解説していきます。
ポイントとしては、
・Dir関数、MkDir関数を使用して、フォルダの存在チェックと作成を行い、
・Workbooks.AddとSaveAsメソッドでファイルの存在チェックと作成を行うこと
です。
なお、下記の解説では完全な初心者でもわかりやすいようにあえて変数名(あなた自身が名付けていい場所)を少々変わった名称にしております。
そのため、あなた自身がご活用の際には、ここを適切な(英語表記でしっくりくるものが一般的)ものに変更してご活用くださいね。
それでは詳しく見ていきましょう!
VBAマクロで指定ディレクトリ内にrenshuフォルダが存在するかをチェックし、無ければ作成、あればスルーする方法【Dir関数、MkDir関数】
それではまず、VBAマクロで指定ディレクトリ内にrenshuフォルダが存在するかをチェックし、無ければ作成、あればスルーする方法について解説していきます。
Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。
Sub renshuforudawo_sakusei()
Dim siteidirekutori As String
siteiDirekutori = "C:\" '指定するディレクトリ
Dim renshuForudaMei As String
renshuForudaMei = "renshu" 'チェック&作成するフォルダ名
'Dir関数で存在チェック
If Dir(siteiDirekutori & renshuForudaMei, vbDirectory) = "" Then
'MkDir関数で作成
MkDir siteiDirekutori & renshuForudaMei
MsgBox renshuForudaMei & "フォルダを作成しました。", vbInformation
Else
MsgBox renshuForudaMei & "フォルダは既に存在します。", vbInformation
End If
End Sub
コードのAlt+F8を押し、マクロ選択画面でrenshuforudawo_sakusei関数を実行します。
コードの意味詳細
このコードでは、まずsiteiDirekutoriとrenshuForudaMeiという変数を使って、指定するディレクトリとチェック&作成するフォルダ名を定義しています。
次にDir関数を用いて、指定ディレクトリ内にrenshuフォルダが存在するかチェックしています。
存在しない場合は、MkDir関数でrenshuフォルダを作成し、MsgBoxで作成完了のメッセージを表示します。
既に存在する場合は、MsgBoxで存在することを示すメッセージを表示します。
VBAマクロで指定ディレクトリ内のrenshuフォルダの中に、xlsxファイルが存在するかを確認し無ければrenshu.xlsxを作成、あればスルーする方法【Dir関数、Workbooks.Add、SaveAs】
続いては、VBAマクロで指定ディレクトリ内のrenshuフォルダの中に、xlsxファイルが存在するかを確認し無ければrenshu.xlsxを作成、あればスルーする方法について解説していきます。
Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。
Sub renshu_xlswo_sakusei()
Dim siteiDirekutori As String
siteiDirekutori = "C:\renshu\" '指定するディレクトリ(renshuフォルダまで)
Dim renshuExcelMei As String
renshuExcelMei = "renshu.xlsx" 'チェック&作成するExcelファイル名
'Dir関数で存在チェック
If Dir(siteiDirekutori & renshuExcelMei) = "" Then
'Workbooks.Addで新規ブックを作成し、SaveAsで保存
Workbooks.Add
ActiveWorkbook.SaveAs Filename:=siteiDirekutori & renshuExcelMei
MsgBox renshuExcelMei & "ファイルを作成しました。", vbInformation
Else
MsgBox renshuExcelMei & "ファイルは既に存在します。", vbInformation
End If
End Sub
コードのAlt+F8を押し、マクロ選択画面でrenshu_xlswo_sakusei関数を実行します。
コードの意味詳細
このコードでは、siteiDirekutoriとrenshuExcelMeiという変数を使って、指定するディレクトリ(renshuフォルダまで)とチェック&作成するExcelファイル名を定義しています。
Dir関数で指定ディレクトリ内にrenshu.xlsxが存在するかチェックし、存在しない場合は、Workbooks.Addで新規ブックを作成し、SaveAsメソッドで指定ディレクトリにrenshu.xlsxという名前で保存します。
そしてMsgBoxで作成完了のメッセージを表示します。既に存在する場合は、MsgBoxで存在することを示すメッセージを表示します。
まとめ VBAでフォルダの存在を確認する(存在しなければ作成:同名:フォルダ内にファイルが存在するかも:空かどうか)【Dir関数、MkDir関数、Workbooks.Add、SaveAs】
この記事では、VBAマクロでフォルダの存在チェック(確認:存在しなければ作成:同名:フォルダ内にファイルが存在するかも:空かどうか)【Dir関数、MkDir関数、Workbooks.Add、SaveAs】について解説しました。
マクロの扱いに慣れ、さらに快適な生活を送っていきましょう。