指定されたパスにファイルをダウンロードしますが、最新のファイルを開くたびに、最近のファイルの名前を指定した名前に変更する必要がありますマクロExcel VBA:最新のExcelファイルを開く方法
ファイルのパスが変更されない限り、マクロで最新のファイルを開くようにします。たとえば、my_file_fbとmy_file_fb(1)という2つのファイルがある場合、最新のファイルを開きたいとします。
指定されたパスにファイルをダウンロードしますが、最新のファイルを開くたびに、最近のファイルの名前を指定した名前に変更する必要がありますマクロExcel VBA:最新のExcelファイルを開く方法
ファイルのパスが変更されない限り、マクロで最新のファイルを開くようにします。たとえば、my_file_fbとmy_file_fb(1)という2つのファイルがある場合、最新のファイルを開きたいとします。
私のコメントを1として、この関数はトリックを行う必要があります。
Public Function MostRecentFile(ByVal searchDirectory As String, ByVal wildCard As String) As String
'''Returns the most recent file in searchDirectory, which matches wildCard criteria
Dim strFile As String 'holds the name of the file we're currently looking at
Dim mostRecent As Date 'holds the date of creation for the most recent file
Dim currDate As Date 'date of creation for the current file
Dim mostRecentPath As String 'path of file with most recent date
strFile = Dir(searchDirectory & wildCard) 'look for file in directory which matches wildcard
Do While Len(strFile) > 0 'loop until Dir returns empty quotes (no files)
currDate = FileDateTime(searchDirectory & strFile)
If currDate > mostRecent Then 'check whether current file is more recent than previous files
mostRecent = currDate 'if so, update most recent date and file
mostRecentPath = searchDirectory & strFile
End If
strFile = Dir 'move to next file in directory
Loop
If mostRecent = 0 Then 'check whether any files were returned
MostRecentFile = "No files match '" & searchDirectory & wildCard & "'"
Else
MostRecentFile = mostRecentPath
End If
End Function
これが第二のために検索するファイルの種類を指定し、入力文字列searchDirectory
とwildCard
、で見てフォルダを最初に指定を取り。
MostRecentFile("C:/Users/[USERNAME]/Downloads/", "*.xls")
String
としてフォルダあなたのダウンロードで".xlsm",".xls",".xlsx"
(Excelファイル)から最新のファイルへのパスを返します。私はそううまくいけば、あなたが各ステップは
ありがとう。私はそれを試してみましょう。 ところで、私はDir関数を使ってみました。コードはエラーなしで実行されますが、msgボックスにファイル名は返されません。ここに構文があります。 excel_file = Dir( "Macintosh HD:ユーザー:kaleembukhari:Documents"、MacID( "Sting.xls:")) – Kaleembukhari
@Kaleembukhariああ、このアプローチはmacでは機能しません。マック。あなたはマックの答えのためにサイトを検索する必要があります。 [このワークブック](https://www.rondebruin.nl/mac/mac013.htm)が役に立ちます。しかし、あなたの質問には、[excel-vba-mac](https://stackoverflow.com/questions/tagged/excel-vba-mac)タグ(またはこれに相当するもの)を常に使用する必要があります。これは多くの回答の重要な情報です – Greedo
[FileDateTime()](https://www.techonthenet.com/excel/formulas/filedatetime.php)を使用してファイルの作成日を取得し、[Dir](https:// stackoverflow .com/a/10382861/6609896)、ワイルドカードでファイルをループします。その後、日付を比較して最新のものを見つけてください。 – Greedo
コードを書くことはできますか?おそらく一例です。 – Kaleembukhari
これまでに何を試しましたか?返された日付を比較するか、ファイルを開くためにどのようなコードを使用していますか? SOは実際にコード作成サービスとしてここにはないので、あなたが今まで行ってきたことを示すのが最善です。私が提案したリンクを使って何かを書こうとして、正確にあなたが立ち往生しているところを説明してください。 – Greedo