Pregunta

Puedo hacer esto:

Dim fso As New FileSystemObject

o puedo hacer esto:

Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")

¿Cómo sé qué cadena usar para CreateObject? Por ejemplo, ¿cómo sabría utilizar el "Scripting"? parte de "Scripting.FileSystemObject" ¿A dónde vas a buscar eso?

¿Fue útil?

Solución

Es el ProgID del componente que está registrado en el registro de Windows bajo la clave HKCR:

HKEY_CLASSES_ROOT\Scripting.FileSystemObject

Los ProgID son identificadores legibles por humanos para objetos COM. Apuntan a los CLSID reales, que en este caso es:

HKEY_CLASSES_ROOT\CLSID\{0D43FE01-F093-11CF-8940-00A0C9054228}

Este es el lugar donde puede encontrar el COM .dll real que incluye la implementación del componente.

En el primer código de muestra que ha proporcionado, está haciendo un enlace temprano, y en el segundo está haciendo un enlace tardío.

Otros consejos

Usando el IDE de VB6, elija Proyecto, Referencias, luego elija la referencia 'Microsoft Scripting Runtime'.

Si no sabía cómo se llama la referencia, puede usar el botón Examinar del cuadro de diálogo Referencias para seleccionar el archivo / sistema 32 / scrrun.dll.

Con la referencia elegida, cierre el cuadro de diálogo Referencias y luego abra el Navegador de objetos (menú Ver). Cambie el menú desplegable al candidato más probable, siendo 'Scripting'. Esto revelará las clases de la biblioteca, una de las cuales es 'FileSystemObject'. Por lo tanto, habrá descubierto que la cadena requerida para CreateObject es 'Scripting.FileSystemObject'.

Si no conocía el nombre de referencia o el nombre del archivo pero sí conocía el nombre de la clase, entonces podría buscar en el registro " FileSystemObject " y pronto debería revelarse que el nombre completo que necesita es 'Scripting.FileSystemObject'.

Comenzaría buscando FileSystemObject en la biblioteca de MSDN en http://msdn.microsoft.com/library

El sitio está repleto de documentación, incluidos los detalles de cómo llamar a CreateObject.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top