varios txt macro importar importacion guardada ejecutar archivos ms-access access-vba ms-access-2010

ms access - txt - Importación de un módulo al acceso mediante programación desde un archivo*.cls o similar



importar txt vba access (2)

Si abre Microsoft Access, abra la ventana visual básica para que pueda ver la lista de módulos y códigos en su proyecto de Access. Puede arrastrar un archivo de texto (txt, cls, bas, etc.) desde el explorador de Windows y colocarlo en la carpeta de su módulo.

Esta acción de arrastrar y soltar importará el código en el archivo de texto en su proyecto y le pedirá que lo guarde (con el nombre predeterminado es el nombre del archivo que eliminó).

¿Hay alguna manera de hacer esto programáticamente usando VBA? Parece una tarea simple que debería tener una solución simple, pero he estado investigando durante días y parece que no puedo encontrar una forma sencilla de hacerlo.


Puede usar el método VBComponents.Import del modelo de objetos VBE. Consulte el tema Método de importación (Modelo de objetos del complemento VBA) en el sistema de ayuda de Access para obtener más información.

Este código de muestra importó modImportMe.bas desde la carpeta donde está almacenada mi base de datos.

Dim strFile As String Dim strPath As String Dim strProject As String strFile = "modImportMe.bas" strPath = CurrentProject.Path & Chr(92) & strFile Debug.Print strPath If Len(Dir(strPath)) > 0 Then ''VBE.ActiveVBProject.VBComponents.Import strPath VBE.VBProjects("Database2").VBComponents.Import strPath DoCmd.RunCommand acCmdCompileAndSaveAllModules Else MsgBox "File not found: " & strPath, vbOKOnly + vbCritical, "Oops!" End If

Tenga en cuenta que esta base de datos en realidad contiene solo un VBProject , por lo que podría haberlo referenciado con VBE.ActiveVBProject . Sin embargo, si el suyo incluye más de un VBProject , es más seguro referirse a él por su nombre, y VBProjects("<Name>") debería funcionar incluso si solo hay uno.


Sí, ese es el comando LoadFromText para usar.

Uso:

LoadFromText acModule, "NameOfObject", "FileName"