mit vbs eine db öffnen und ein makro starten

19/08/2009 - 14:35 von Thom | Report spam
Hallo liebe NG

Ich müsste via VBS Code eine Access DB öffnen und dort ein Import Prozedur
bzw. Makro starten.

Die DB ist unter folgendem Pfad: c:\temp\test.mdb
Das Makro ist mit dem Namen "m_000_Datenimport" in der DB abgelegt

Das Script müsste in etwa so aussehen:

- öffne test.mdb
- starte Makro "m_000_Datenimport"
- starte VBA-Makro "btnCreaBarClose_Click" um die DB Datei wieder zu
schliessen

Ich habs im Internet versucht zu googlen. Verstehe jedoch zu wenig davon.

Danke im Voraus für mögliche Tipps.

Gruss Thom
 

Lesen sie die antworten

#1 Henry Habermacher
19/08/2009 - 14:50 | Warnen spam
Hallo Thom

Thom wrote:
Ich müsste via VBS Code eine Access DB öffnen und dort ein Import Prozedur
bzw. Makro starten.



In diesem Fall musst Du Access starten, nicht nur die DB per DAO öffnen. Nur
Access selber kann die Makros ausführen.
Da Du nun Access öffnen musst, musst Du sicherstellen, dass da kein Autoexec
Makro oder ein Startformular geöffnet wird, sonst geht das schief. Am
einfachsten klemmst Du das in der Anwendung ab, indem Du das UserControl
Property des Application Objekts kontrollierst und das Startformular oder
Makro sofort wieder schliesst (oder gar nicht öffnest), wenn die Anwendung
gestartet wird.

Zum Beispiel beim Form_Open Ereignis des Start Formulars

Private Sub Form_Open(Cancel As Integer)
If Application.UserControl = False Then
Cancel = True
Exit Sub
End If
End Sub

Zudem ist natürlich nun Voraussetzung, dass Access auf diesem Rechner
installiert ist.

Die DB ist unter folgendem Pfad: c:\temp\test.mdb
Das Makro ist mit dem Namen "m_000_Datenimport" in der DB abgelegt

Das Script müsste in etwa so aussehen:

- öffne test.mdb
- starte Makro "m_000_Datenimport"
- starte VBA-Makro "btnCreaBarClose_Click" um die DB Datei wieder zu
schliessen



Versuch mal sowas (ungetestet):

Option Explicit
Dim objAccess
Set objAccess = CreateObject("Access.Application")
objAccess.OpenCurrentDB = "c:\temp\test.mdb"
objAccess.DoCmd.RunMacro "m_00_Datenimport"
objAccess.Quit 2 '2=acSaveNone
MsgBox "So, das wars."

Gruss
Henry


AEK 12 - Anmeldung bei www.donkarl.com/?AEK
Microsoft MVP Office Access
Keine E-Mails auf Postings in NGs. Danke.
Access FAQ www.donkarl.com

Ähnliche fragen