PDA

Vollständige Version anzeigen : Excel Datei wird nicht "richtig" gestartet


PapaB
08.07.2006, 21:00
Hallo Leute
Kann mir jemand helfen?

Ich starte aus Access eine Exceldatei mit diesem Code.


Set ExcApp = CreateObject("Excel.Application")
ExcApp.Visible = True
ExcApp.Workbooks.Open ("Exceldatei")


Das Problem ist jetzt das die Datei zwar startet aber wohl das 'auto_open' Modul nicht abarbeitet.
In diesem Modul werden alle Sybolleisten ausgeblendet und eine benuzerdefinierte Sybolleiste eingeblendet.

Wenn die Exceldatei manuell gestartet wird, funzt alles.

Woran liegts???
Wer weis Rat?
Gruss an alle
PapaB

Nouba
09.07.2006, 09:03
Hallo,

eine Erklärung und ein möglicher Ausweg steht unter Wie wird per OLE ein auto_open Makro in Excel ausgeführt ? (http://support.microsoft.com/default.aspx?scid=kb%3Bde%3B505179)

PapaB
10.07.2006, 15:09
Danke für den Tip Nouba.
Aber irgendwo ist ein Haken.
Beim Aufruf des Befehls kommt die Fehlermeldung
'Laufzeitfehler 9'
'Index ausserhalb des gültigen Bereichs'

und es wird an der Stelle
'ExcApp.Workbooks(strInput).RunAutoMacros 1'
abgebrochen.

Dies ist der komplette Code zum Aufruf der Exceldatei.
Die Datei wird auch gestartet, nur das Auto_open Makro nicht.


Dim strInput As String, ExcApp
Dim db As Database, rst As Recordset, Dateiname

strInput = DLookup("excel_pfad", "optionen")


If DateiIstFrei(strInput) = False Then
MsgBox "Korrekturbericht" & " ist bereits geöffnet", vbOKOnly, "Hinweis"
Else 'hier steht Dein obiger Code zum XL-Aufruf und
Set ExcApp = CreateObject("Excel.Application")
ExcApp.Visible = True
ExcApp.Workbooks.Open (strInput)
ExcApp.Workbooks(strInput).RunAutoMacros 1

End If


Wo liegt der Fehler?
Gruss PapaB

Nouba
10.07.2006, 15:37
Hallo PapaB,

ungetestet: verwende mal nur den Dateinamen (ohne jegliche Pfadangabe) oder 1 als Angabe für den Index - so wie es im Beispiel auch verwendet wird.

MRR
10.07.2006, 20:08
Hi,
einmischen meinerseits:
Was passiert, wenn du machst

Dim wb As Excel.Workbook
'...
Set wb = ExcApp.Workbooks.Open(strInput)
wb.RunAutoMacros 1

?