サンプルコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
Sub OpenLatestFile() Dim FilePath As String Dim FileName As String Dim LatestFile As String Dim LatestDate As Date FilePath = "C:\Users\Username\Desktop\FolderName\" 'フォルダのパスを指定 FileName = Dir(FilePath & "*.xlsx") '拡張子が.xlsxのファイルを検索 Do While FileName <> "" If FileDateTime(FilePath & FileName) > LatestDate Then LatestFile = FileName LatestDate = FileDateTime(FilePath & FileName) End If FileName = Dir() Loop Workbooks.Open (FilePath & LatestFile) End Sub |
このVBAコードは、指定されたフォルダ内の最新のExcelファイルを開くために使用されます。
具体的には、次のことを行います。
- フォルダのパスを指定し、拡張子が.xlsxのファイルを検索します。
- フォルダ内のすべての.xlsxファイルの最終更新日を比較して、最新のファイルを特定します。
- 最新のExcelファイルを開きます。
つまり、このコードは、最新のデータを含むExcelファイルを迅速に開くために使用されることができます。
例えば、毎日更新されるデータが格納されているフォルダがある場合、このコードを使用して自動的に最新のファイルを開くことができます。
コードの説明
1 |
Sub OpenLatestFile() |
この行は、サブルーチンの宣言で、コードの開始を示しています。このサブルーチンは、最新のExcelファイルを開くために使用されます。
1 2 3 4 |
Dim FilePath As String Dim FileName As String Dim LatestFile As String Dim LatestDate As Date |
これらの行は、使用する変数を宣言しています。
- FilePath: 最新のExcelファイルが格納されているフォルダのパスを格納するための変数です。
- FileName: フォルダ内のファイル名を格納するための変数です。
- LatestFile: 最新のExcelファイル名を格納するための変数です。
- LatestDate: 最新のExcelファイルの最終更新日を格納するための変数です。
1 |
FilePath = "C:\Users\Username\Desktop\FolderName\" |
この行は、最新のExcelファイルが格納されているフォルダのパスを指定しています。
この部分は、実際のフォルダのパスに置き換える必要があります。
1 |
FileName = Dir(FilePath & "*.xlsx") |
この行は、フォルダ内の.xlsxファイルを検索して、最初のファイル名をFileName変数に格納しています。Dir関数は、指定されたフォルダ内のファイル名を返します。
1 2 3 4 5 6 7 |
Do While FileName <> "" If FileDateTime(FilePath & FileName) > LatestDate Then LatestFile = FileName LatestDate = FileDateTime(FilePath & FileName) End If FileName = Dir() Loop |
この部分は、フォルダ内のすべての.xlsxファイルの最終更新日を比較して、最新のファイルを特定しています。
Do Whileループは、ファイル名が空でない限り続き、ファイル名を1つずつ処理しています。Ifステートメントは、ファイルの最終更新日がLatestDate変数よりも新しい場合に、LatestFile変数とLatestDate変数を更新します。
最後に、FileName変数を更新して、次のファイル名を取得します。
1 |
Workbooks.Open (FilePath & LatestFile) |
最後に、この行は、最新のExcelファイルを開いています。
Workbooks.Open関数は、指定されたファイルを開くために使用されます。最新のExcelファイル名は、LatestFile変数に格納されています。
コメント