Excel

【Excel】VBAマクロでフォルダの存在チェック(確認:存在しなければ作成:同名:フォルダ内にファイルが存在するかも:空かどうか)【Dir関数、MkDir関数、Workbooks.Add、SaveAs】

当サイトでは記事内に広告を含みます

この記事では、【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】について解説しました。

マクロの扱いに慣れ、さらに快適な生活を送っていきましょう。