schauan
Goto Top

Vbs getobject auf per Task gestartete Anwendung

Hallo zusammen,

ich starte per Task nachts in abgemeldetem Zustand ein Script, welches Excel startet. Das Script startet dann ein Makro in Excel. Excel führt dann einige Aktionen aus und schreibt dazu auch ein Log.

Nun bin ich gerade bei der Umstellung auf Windows 10 und so wie es ausschaut, wird das Makro nicht gestartet. Excel läuft früh laut Taskmanager noch, und es wurde kein Log geschrieben.

Nun würde ich gerne Excel nach vorne holen, bekomme das aber nicht hin. User ist der gleiche wie nachts.
Normalerweise geht das mit einem Script:

set xlApp = GetObject(, "Excel.Application")
xlapp.visible=true

Ich bekomme in Zeile 1 den
Fehler: ActiveX-Komponente kann kein Objekt erstellen: 'GetObject'
Code: 800A01AD

Gibt es irgendeine Möglichkeit, auf dieses "Hintergrundexcel" zuzugreifen? Problem ist, das Excel eine spezielle Fehlermeldung ausgibt, die ich bestätigen muss. Ansonsten gibt es keine Chance, dass der Hintergrundprozeß wieder läuft - außer, ich plätte den Rechner und installiere komplett neu.

Oder weiß jemand, wo Excel diese Info herbekommt und wie man die aus dem System kicken kann? In der Ereignisanzeige bekomme ich das:

Microsoft Excel
Beim letzten Öffnen von 'xxxxx.xlsm' führte dies zu einem schwerwiegenden Fehler. Möchten Sie mit dem Öffnen fortfahren?
P1: 700164
P2: 16.0.4480.1000
P3:
P4:

und Löschen des Protokolls hilft übrigens auch nicht...

Content-Key: 328780

Url: https://administrator.de/contentid/328780

Printed on: April 19, 2024 at 13:04 o'clock

Mitglied: 132272
132272 Feb 08, 2017 updated at 07:38:22 (UTC)
Goto Top
DeinExcelObjekt.DisplayAlerts = False
Und für das Systemprofile vorsorglich einen "Desktop"-Ordner erstellen.
Per Batch in Aufgabeplanung XLS in CSV umwandeln

Gruß
Member: schauan
schauan Feb 08, 2017 at 09:10:08 (UTC)
Goto Top
Hallöchen,

DeinExcelObjekt.DisplayAlerts = False

funktioniert nicht, da der Fehler beim Start auftritt also z.B. bei CreateObject, noch bevor irgendwelche anderen Befehle verarbeitet werden. Man bräuchte praktisch eine "Fehlerunterdrückungsoption" für CreateObject und nicht erst eine Zeile später face-sad

Die beiden Desktop-Ordner hatte ich schon.
Mitglied: 132272
132272 Feb 08, 2017 updated at 09:21:27 (UTC)
Goto Top
Zitat von @schauan:
funktioniert nicht, da der Fehler beim Start auftritt also z.B. bei CreateObject,
Kann nicht sein wenn du es so machst:
set objExcel = CreateObject("Excel.Application")  
objExcel.DisplayAlerts = False
Application.EnableEvents = False
objExcel.Workbooks.Open("<DATEI>")  
Application.EnableEvents = True
Denn
Beim letzten Öffnen von 'xxxxx.xlsm' führte dies zu einem schwerwiegenden Fehler. Möchten Sie mit dem Öffnen fortfahren?
sagt ja das du die Datei schon öffnest und bei obigem Code wird erst mal nur Excel gestartet "ohne" ein Dokument zu öffnen.
Member: schauan
schauan Feb 08, 2017 at 09:36:20 (UTC)
Goto Top
Sorry, total falsch erklärt.
Der Fehler wird mit objExcel.DisplayAlerts = False nicht abgefangen... Das stimmt schon. Nur kommt er erst beim Öffnen der Mappe.