0
こんにちは、私は、フォルダ内の最新のファイル(変更日)を開こうとしています。コードはループを使用してファイルを通過し、最新の変更を検出しますが、 'Workbooks.Open strFilename'を使用してファイルを開くときには、ファイル(既に「最も若い」ファイルとして識別されています) 。見つからないエラーメッセージがファイル「若いテスト」と言うように、これは私には意味がありません - ファイル名が見つかりませんでしたが、それは明らかにループの中にそれを見つけフォルダ内の最新のファイルを開くVBA
Sub copynewdata()
Dim FileSys As FileSystemObject
Dim objFile As File
Dim myFolder
Dim strFilename As String
Dim dteFile As Date
Dim Ref As Object, CheckRefEnabled%
CheckRefEnabled = 0
With ThisWorkbook
For Each Ref In .VBProject.References
If Ref.Name = "Scripting" Then
CheckRefEnabled = 1
Exit For
End If
Next Ref
If CheckRefEnabled = 0 Then
.VBProject.References.AddFromGUID "{420B2830-E718-11CF-893D-00A0C9054228}", 1, 0
End If
End With
'set path for files - change for your folder
Const myDir As String = "\\C:\Test"
'set up filesys objects
Set FileSys = New FileSystemObject
Set myFolder = FileSys.GetFolder(myDir)
'loop through each file and get date last modified. If largest date then store Filename
dteFile = DateSerial(1900, 1, 1)
For Each objFile In myFolder.Files
If objFile.DateLastModified > dteFile Then
dteFile = objFile.DateLastModified
strFilename = objFile.Name
End If
Next objFile
Workbooks.Open strFilename
'Set Source_Workbook = Workbooks(strFilename).Open(Target_Path)
Set FileSys = Nothing
Set myFolder = Nothing
End Subの。
誰もがstrFilename
ではこの
非常に感謝します。 – Ollie