Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

ejecutar una macro desde otra base de datos

1,376 views
Skip to first unread message

gomezmon

unread,
May 22, 2009, 1:03:00 PM5/22/09
to
Como puedo ejecutar una macro de Access o un código de VB desde otra base de
datos?

Gracias

Patxi Sanz

unread,
May 23, 2009, 9:39:43 AM5/23/09
to
Hola Gomezmon:

Todo va a depender de qué necesitas hacer exactamente con ese código o
macro:

- Puedes agregar la otra base de datos como referencia de la que tienes
abierta, y luego usar sus módulos y clases, como si fuera una librería.

- Puedes crear un acceso directo a la otra base de datos o abrirla mediante
VBA e indicar que se ejecute una macro. Por ejemplo:

"c:\program files\microsoft office\office12\msaccess.exe" "c:\My Folder\My
Database.accdb" /x "MiMacro"

Hace que se abra la base de datos indicada y que se ejecute la macro
MiMacro. Tienes más información en el tema "Modificadores de la línea de
comandos para Access" de la ayuda de Access.

- Puedes automatizar Access y después ejecutar sus funciones y macros:

Function TestApp()
Dim app As Access.Application

'Iniciamos el objeto
Set app = New Access.Application

'Forzamos la seguridad a nivel bajo para que se ejecute el código y las
macros
app.AutomationSecurity = msoAutomationSecurityLow

'Abrimos la base de datos
app.OpenCurrentDatabase
"C:\Users\Patzi\Documents\Access\RibbonPad_2008-12-09.accdb"

'Ejecutamos una función
app.Run "testMe"

'Ejecutamos una macro
app.DoCmd.RunMacro "Macro1"

'Cerramos la base de datos
app.CloseCurrentDatabase

'Y quitamos la instancia de Access
app.Quit acQuitSaveNone
Set app = Nothing
End Function

--
Un saludo,


Patxi Sanz
Tudela (NA)

drma...@clinicadealergia.com.ar

unread,
Jul 25, 2016, 6:34:17 AM7/25/16
to
Hola Patxi Sanz
Pude seguir tu ejemplo que realmente fue muy útil. Pero mi idea es ejecutar un macro en otra base que esta activa o sea que no necesite abrirse ni cerrarse al terminar la macro.

Me pasaría como se hace por que la verdad llevo intentando toda la tarde sin exito

Muchas gracias

Gustavo
0 new messages