_Excel_BookAttach funktioniert in compilierter Form nicht (mehr)

  • Hallo liebe Gemeinde,
    nachdem ich mich jetzt in Summe schon mehrere Stunden mit dem Problem rumschlage, suche ich hier ggf. Rat.

    Wie im Titel beschrieben, handelt es sich um ein Exel / Autoit 'Issue'.

    Was mache ich:
    Script Function: New Backup procedure using Personal Backup software
    - Progressbar starten
    - Excel Object Attach, Run VB Macro, Save in Cloud + Local <----------- hier kommt dann der Fehler zumTragen aber nur in der exe Datei - im Script funzt alles
    - Start PB Software
    - Show Backup Log

    Wie gesagt das Script wird fehlerfrei ausgeführt / die kompilierte Version nicht

    Der Start des kompilierten Scripts erfolgt per Windows TaskScheduler durch einen Zeittrigger der die EXE Datei aufruft

    Hier FM die auftauchen
    Fehlermeldung 1:
    Error attaching to 'Https://.....X1.xlsm'
    @error = 1, @extended = -2147352570

    Fehlermeldung 2:
    Line 3419 (File .....cdePB_BkpNew.exe):
    Error: Variable must be of type "Object".


    mir fällt dazu leider nichte mehr ein - vllt wiee ja jemand weiter

    Danke schon einmal im voraus


    Hier das Script (anonymisiert)

  • Ich finde kein _excel_open in Deinem Skript. Fehlt das tatsächlich?

  • Hallo water,

    ja das fehlt .... da die Dateien eigentlich immer geöffnet sind, wenn der Rechner hochläuft ....
    (Anm.: das Script also die au3 Datei funktioniert / die kompilierte exe Datei leider nicht)

    Mein Ziel ist es die beiden Dateien zu sichern (in die Cloud und lokal) und zwar vor dem Backup Start.
    Das Ganze macht aber dann nur Sinn wenn die Dateien tatsächlich geöffnet sind
    (dann bin ich sicher das der gute Mann seine Dateien bzw. den Stand der Dateien vor dem Backup gesichert bekommt)

    Wenn es hilft kann ich natürlich erst ein _Excel_open ins Script einbauen

    Danke schon mal

  • Du brauchst das _Excel_Open IMMER. Sonst haben die weiteren Funktionen keine Verbindung zum Excel Objekt!

  • Hi Waters

    OK das teste ich ....

    (aber I'm a little bit confused, weil das AutoIT Script ja ohne Schwierigkeiten funktioniert)

    Aber wenn das Nutzen der Funktion,des Rätsels Lösung ist, dann gerne.

    Melde mich - so hoffe ich - im Laufe des morgigen Tages


    Danke
    Gruss

    Chris

  • Hab Dein Skript nochmal gecheckt. Da Du nur _Excel_BooKSaveAs verwendest, solltest Du ohne _Excel_Open auskommen, da das Applikationsobjekt dort nicht benötigt wird.
    Der Fehler muss also woanders liegen.
    Dann kann es aus meiner Sicht nur am Task Scheduler liegen.

  • Ich tippe eher auf ein 32 vs 64bit Problem. Soweit ich das sehe kompilierst du als 64bit Script. Evtl. wird in scite das ganze aber als 32bit ausgeführt. Da Office in der Regel als 32bit Version vorliegt könnte es hier ggf. zum Problem kommen. Weitere Fehlerquelle könnte auch die Heurisitk Funktion deines Virenscanners sein, welche auf 64bit Kompilate anderst reagiert als auf 32bit. Letzteres hatte ich selbst schon erlebt... der Programmstart war bei der 64bit Version aufgrund des Virenscanners stark verzögert.

    Neben dieser Fehlerquelle solltest du auch ein Berechtigungsproblem durch den Start über den Taskscheduler ausschließen. Tritt das Problem auch bei manueller Ausführung der kompilierten Fassung auf?

  • Guten Abend zusammen.

    also ich habe jetzt den Test sowohl mit einer 32Bit und einer 64bit kompilierten Version getestet.
    Das Ergebnis ist letztlich eindeutig - denn

    1 - beide exe Dateien sind ohne TaskScheduler ohne Fehler lauffähig - die funzen also
    2 - sobald der TaskScheduler ins Spiel kommt geht das nicht mehr - zumindest nicht beim Aufruf der jeweiligen exe.
    3 - Workaround - Aufruf der exe Datei mittels Batch File funktioniert leider auch nur ohne den TaskScheduler

    ....
    Start.Bat
    ....
    @Echo off
    Call "d:\....\PB_bkpNew32bit.exe"
    Exit

    soweit der Zwischenstand der Dinge.

    Ich teste weiter und berichte über die Schritte


    Danke nochmal für die schnelle erste Hilfe
    mfg
    ugt100

  • Guten Morgen,

    wie versprochen hier meine weiteren Aktionen, um die Kuh doch noch vom Eis zu bekommen.

    Also mittels Windows TaskScheduler, habe ich es nicht hinbekommen (werde aber das Problem einem mir bekannten Windowsmenschen zum Testen geben)

    Meine Lösung ist jetzt mittels eines anderen Scheduler gelöst.
    Mit dem (portablen) FBTaskScheduler, der im Hintergrund läuft, funktioniert das Script (32Bit und 64it).

    Damit kann ich erst mal leben

    Gruss
    ugt100