Hallo.
Wie kann ich ein Access Programm aus Excel (Makro) heraus starten?
Mein Makro läuft ab, und soll zum Schluss eben ein Access Prg starten (Dieses Access Prg. läuft sein Programm durch, und schließt sich danach wieder automatisch)
Danke
Hallo.
Wie kann ich ein Access Programm aus Excel (Makro) heraus starten?
Mein Makro läuft ab, und soll zum Schluss eben ein Access Prg starten (Dieses Access Prg. läuft sein Programm durch, und schließt sich danach wieder automatisch)
Danke
Wie kann ich ein Access Programm aus Excel (Makro) heraus
starten?
Mein Makro läuft ab, und soll zum Schluss eben ein Access Prg
starten (Dieses Access Prg. läuft sein Programm durch, und
schließt sich danach wieder automatisch)
Hallo Anton,
grundsätzlich kann man oft das nehmen:
x=shell(„PfadzuAccess\Access.exe Accessdateiname“, Fensterindex)
(Fensterindex ist die Fenstergröße, Fokus usw., siehe Hilfe zu shell)
Es gibt da noch shellexecute.
Aber vielleicht ist das hier für dich passender:
http://www.office-loesung.de/ftopic117322_0_0_asc.php
Gruß
Reinhard
Hallo Reinhard.
Danke zuerst einmal, für deine Hilfe.
Leider funktioniert es nicht.
Ich möchte folgendes Prg laden.
\ptpsbs\PTPPC\Client\AutoAbfüllung\P2PPC_BigBag.mde
(mit diesem Pfad, wie mache ich das?)
Danke
Mfg.
Hallo Krisam,
Wie kann ich ein Access Programm aus Excel (Makro) heraus
starten?
Mein Makro läuft ab, und soll zum Schluss eben ein Access Prg
starten (Dieses Access Prg. läuft sein Programm durch, und
schließt sich danach wieder automatisch)
wenn du über Automatisierung auf andere Office-Anwendungen zugreifen willst, machst
du das „blind“ (Excel kennt Access-Objekte nicht), einfacher ist es, wenn du einen
Verweis auf die Objektbibliothek erzeugst. Dazu im vba-Editor unter Extras-Verweise
das Kontrollfeld für die Access Bibliotheken setzen (z.B. Microsoft
Access 10.0 Object Library oder Microsoft Access 11.0 Object Library oder …), falls du
es nicht findest, gehe über „Durchsuchen“. Der Pfad ist bei Standard-Installation
C:\Programme\Microsoft Office\Office 10\MSACC.OLB
Office 97 8
Office 2000 9
Office XP 10
Office 2003 11
usw.
Wenn du dann eine Office-Anwendung aus Excel heraus startest, ist dies standardmäßig nicht
sofort sichtbar. So kannst du ohne dass der User es merkt, in Access irgendwelche
Abfragen starten und diese z.B. per Mail verschicken oder ausdrucken und anschließend
Access wieder schließen. Du mußt also Access in einer zusätzlichen Anweisung sichtbar setzen.
z. B.
Dim Aa as New Access.application
Aa.visible=true
dabei wird auf jeden Fall eine neue Instanz geöffnet, auch wenn bereits Access läuft.
ohne Objektbibliothek:
dim Aa as object 'hier wird zunächst versucht, eine Verbindung zu einer
'laufenden Instanz herzustellen. Um eine Fehleranzeige zu
'verhindern, falls das nicht klappt, ist nach der Deklaration von
'Aa "on eror resume next" erfordelich
on error resume next
set Aa=getobject(,"Access.Application") 'versucht eine Verbindung zu einer laufenden Instanz
'herzustellen, falls das nicht klappt, hat
'Aa den Wert Nothing, deshalb "if Aa is nothing then ...
if Aa is nothing then
set Aa=createobject("Access.Application") 'startet neue Instanz von Access
end if
...
Du kannst wohl davon ausgehen, dass Access installiert ist, sonst müßtest du auch prüfen, ob
createobject den Wert nothing hat
Beim Beenden von Access soltest du auch daran denken, den belegten Speicher wieder frei zu geben mit
set Aa=nothing
Vielleicht hilft dir das ja schon weiter
Gruß
Marion
Hallo Anton,
Danke zuerst einmal, für deine Hilfe.
Leider funktioniert es nicht.
nobody is perfect 
Ich möchte folgendes Prg laden.
\ptpsbs\PTPPC\Client\AutoAbfüllung\P2PPC_BigBag.mde
(mit diesem Pfad, wie mache ich das?)
Ich habe kein Netzwerk, kann also nichts testen.
Du könntest in Access ein Makro aufzeichnen während du diese Datei manuell in Access öffnest.
Vielleicht sieht man da im Code Hinweise auf die Schreibweise.
Gibt es im Netzwerk den Befehl „Subst“?
Google im Internet mal nach dem was Marion schrieb, also
Createobject Access.Application
und vielleicht mde usw.
Und wie sieht die Synntax aus wenn du eine Exceldatei aus diesem Netztwerk öffnest?
Workbooks.Open „\ptpbbs…\Test.xls“
Vielleicht geht ja auch sowas:
CurDir & „/P2PPC_BigBag.mde“
Gruß
Reinhard
Hallo Reinhard.
Danke nochmal für deine Hilfe.
Habe es folgendermassen gelöst:
Dim stAppName As String
stAppName = „MSACCESS.EXE
\ptpsbs\PTPPC\Client\AutoAbfüllung\P2PPC_BigBag.mde“
Shell (stAppName)
Du hast mir schon das richtige geschrieben, nur habe ich beim umsetzen einen fehler gemacht.
Mfg. KA