validos una subcarpetas son ser ruta que puede porque para obtener nombre movido macro lista hayan haya formato extension este eliminado desde carpeta cambiado buscar archivos archivo abrir excel-vba directory folder runtime-error

excel-vba - una - macro para obtener ruta de un archivo



Luchando para abrir los archivos.xls más recientes en la carpeta especificada. Error de archivo no encontrado (1)

Esta es mi primera publicación, así que me disculpo si no puedo brindar suficiente información. Lo haré lo mejor que pueda.

Estoy intentando escanear a través de una carpeta específica y abrir el último archivo titulado Excel. Los archivos se llaman ''9 1 13'' y ''9 2 13'' ect. Mi subdirectorio se dirige correctamente a la carpeta correcta e identifica el archivo más reciente. Sin embargo, cuando intento abrirlo, obtengo un error de tiempo de ejecución 1004.

Archivo ''9 2 13.xlsx'' no se pudo encontrar, revise la ortografía ...

Claramente ha encontrado el archivo correcto y la ruta hacia él, entonces ¿por qué VBA no puede abrirlo? Mi sub actual está abajo. Antes de que alguien pregunte, la ruta del archivo ''//Hsrkdfs/hsdata/rk/grp06....'' se debe a que estoy sacando de una red donde el acceso de red de todos no se correlaciona de la misma manera. Algunos acceden a esta carpeta desde la unidad G: otros, la R :, y esta macro debe ser funcional desde todas las computadoras. El error ocurre en la línea ''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


Intente usar .Path que devuelve la ruta completa, en lugar de .Name , que solo devuelve el nombre y la extensión del archivo.

strFilename = objFile.Path