Cómo abrir un libro de trabajo con la ruta del archivo?
Estoy teniendo problemas con Workbooks(). En el código siguiente, quiero que el usuario elija el archivo y obtenga la ruta del archivo del cuadro de diálogo. Todos estos pasos están funcionando. Sin embargo, tengo problemas con el uso de pathKeys
. Parece que cuando escribo Workbooks(pathKeys)
, tengo un error 9 (Error de script fuera de rango).
Sub getData()
Dim diagBoxkeys As FileDialog
Dim pathKeys As String
Set diagBoxkeys = Application.FileDialog(msoFileDialogFilePicker)
diagBoxkeys.Title = "Archivo de claves " & FileType
diagBoxkeys.Filters.Clear
diagBoxkeys.Show
If diagBoxkeys.SelectedItems.Count = 1 Then
pathKeys = diagBoxkeys.SelectedItems(1)
End If
MsgBox (pathKeys)
Dim wbKeys As Workbook
ScreenUpdating = False
Set wbKeys = GetObject(pathKeys)
Workbooks(pathKeys).Worksheets(1).Columns(2).Copy Destination:=Workbooks("Macro_PORTAL_APRR.xlsm").Worksheets(1).Columns(1)
wbKeys.Close Savechanges:=False
End Sub
Sin embargo, cuando en este código reemplazo <code>Workbooks(pathKeys)</code>
con <code>Workbooks("Keys_2021-12-27_13_43_21_utf-8.csv")</code>
, funciona perfectamente.
No entiendo por qué pathKeys
no es aceptado como pathKeys = C:\Users\tn5809\Documents\PROJETS\PORTAL_APRR\Keys_2021-12-27_13_43_21_utf-8.csv
.
¿Qué estoy haciendo mal?
davy.ai
El problema parece estar en el uso de la variable
pathKeys
al referirse al libro de trabajo. Al escribirWorkbooks(pathKeys)
, intenta hacer referencia al libro de trabajo con el nombre coincidente con la cadena enpathKeys
, el cual puede no existir. En su lugar, intente usar la variablewbKeys
, que ya contiene la referencia al libro de trabajo abierto. Por lo tanto, reemplaceWorkbooks(pathKeys)
conwbKeys
en el código como se muestra a continuación:Esto debería resolver el error y permitir que el código funcione como se pretende.