Dentro de Excel, debe establecer una referencia a la biblioteca de tiempo de ejecución del script VB. El archivo relevante generalmente se encuentra en\Windows\System32\scrrun.dll
- Para hacer referencia a este archivo, cargue el Editor de Visual Basic ( ALT+ F11)
- Seleccione Herramientas> Referencias en el menú desplegable.
- Se mostrará un cuadro de lista de referencias disponibles
- Marque la casilla de verificación junto a '
Microsoft Scripting Runtime
'
- El nombre completo y la ruta del
scrrun.dll
archivo se mostrarán debajo del cuadro de lista.
- Haga clic en el OKbotón.
Esto también se puede hacer directamente en el código si se ha habilitado el acceso al modelo de objetos de VBA.
El acceso se puede habilitar marcando la casilla de verificación que se Trust access to the VBA project object model
encuentra en Archivo> Opciones> Centro de confianza> Configuración del Centro de confianza> Configuración de macros
Para agregar una referencia:
Sub Add_Reference()
Application.VBE.ActiveVBProject.References.AddFromFile "C:\Windows\System32\scrrun.dll"
'Add a reference
End Sub
Para eliminar una referencia:
Sub Remove_Reference()
Dim oReference As Object
Set oReference = Application.VBE.ActiveVBProject.References.Item("Scripting")
Application.VBE.ActiveVBProject.References.Remove oReference
'Remove a reference
End Sub
En Excel 2013, la cadena de creación de objetos es:
en lugar del código en la respuesta anterior:
fuente
Dim fso As Object
Estos chicos tienen excelentes ejemplos de cómo usar el objeto del sistema de archivos http://www.w3schools.com/asp/asp_ref_filesystem.asp
fuente
Después de agregar la referencia, tuve que usar
fuente
Después de importar el tiempo de ejecución de secuencias de comandos como se describe anteriormente, debe realizar una pequeña modificación para que funcione en Excel 2010 (mi versión). En el siguiente código también agregué el código utilizado por el usuario para elegir un archivo.
¡Espero que te ayude!
Atentamente
Fabio
fuente