0

これは私の最初の投稿ですので、十分な情報を提供できなかったら申し訳ありません。私は自分のベストを尽くします。

特定のフォルダーをスキャンして、最新のタイトルのExcel ファイルを開こうとしています。ファイルの名前は「9 1 13」および「9 2 13」などです。私のサブは正しいフォルダに正しく移動し、最新のファイルを識別します。しかし、それを開こうとすると、実行時エラー 1004 が発生します。

ファイル '9 2 13.xlsx' が見つかりませんでした。スペルを確認してください....

正しいファイルとそのパスが明らかに見つかったのに、なぜ VBA で開けないのでしょうか? 私の現在のサブは以下です。誰かが尋ねる前に、ファイル パス'\\Hsrkdfs\hsdata\rk\grp06....'は、全員のネットワーク アクセスが同じようにマッピングされていないネットワークからプルしているためです。G: ドライブからこのフォルダにアクセスする人もいれば、R: ドライブからアクセスする人もいます。このマクロは、すべてのコンピュータから機能する必要があります。回線でエラーが発生します'Workbooks.Open strFilename

Sub GetMostRecentFile()

Dim FileSys As FileSystemObject
Dim objFile As File
Dim myFolder
Dim strFilename As String
Dim dteFile As Date

'set path for files - CHANGE FOR YOUR APPROPRIATE FOLDER
Const myDir As String = "\\Hsrkdfs\hsdata\rk\grp06\Rockford Repair Station   Quality\DELIVERY\Daily Status report - commercial"


'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 FileSys = Nothing
Set myFolder = Nothing

End Sub
4

1 に答える 1

1

ファイルの名前と拡張子のみを返す.Pathではなく、完全なパスを返すを使用してみてください。.Name

strFilename = objFile.Path
于 2013-09-09T23:53:21.283 に答える