Excelファイルのあるフォルダに任意のフォルダと日付のフォルダを作成してワークブックの名前に日付_時間を付けてファイルコピー
<分類:ファイル作成>
<使用例:Excelファイルのあるフォルダに任意backup¥日付フォルダを作成してワークブックの名前に日付_時間を付けてファイルコピーする>
<プログラム例>
Sub 使用例() Dim s As String Dim rtn As String '作成するフォルダ名 s = "backup" Call Excelファイルのあるフォルダに任意のフォルダと日付のフォルダを作成してワークブックの名前に日付_時間を付けてファイルコピー(s, rtn) MsgBox (rtn & "という名前でこのワークブックのバックアップを作成しました") End Sub Sub Excelファイルのあるフォルダに任意のフォルダと日付のフォルダを作成してワークブックの名前に日付_時間を付けてファイルコピー(p1, r1) 'p1:任意のフォルダ名 'r1:作成した任意のフォルダ¥日付のフォルダ\日付・時間のファイルパスを設定 Dim cfolder_path1 As String Dim cfolder_path2 As String Dim cfile_path As String Dim aFso As Object Set aFso = CreateObject("Scripting.FileSystemObject") '任意のフォルダのフォルダパスを設定 cfolder_path1 = ThisWorkbook.Path & "\" & p1 '任意のフォルダ¥日付のフォルダパスを設定 cfolder_path2 = cfolder_path1 & "\" & Format(Now, "yyyymmdd") 'フォルダの存在確認 If aFso.FolderExists(cfolder_path1) Then '作成しようとしたフォルダはすでに存在している If aFso.FolderExists(cfolder_path2) Then '作成しようとした日付・時間のフォルダはすでに存在している Else aFso.CreateFolder (cfolder_path2) End If Else '作成しようとしたフォルダは存在しないので作成する aFso.CreateFolder (cfolder_path1) aFso.CreateFolder (cfolder_path2) End If cfile_path = cfolder_path2 & "\" & Format(Date, "yyyymmdd") & "_" & Format(Time, "hhmmss") & ThisWorkbook.Name 'ワークブックこのファイルを保存する ThisWorkbook.Save '保存の確認をしないようにする ThisWorkbook.Saved = True aFso.CopyFile ThisWorkbook.Path & "\" & ThisWorkbook.Name, cfile_path 'r1:リターン値を設定 r1 = cfile_path End Sub