Clever-Excel-Forum

Normale Version: Application.OnTime
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo @RPP63,


Zitat:Mich würde ernsthaft interessieren, was Strg+Umschalt+Esc ergibt.
Status vor der Ausführung des "Application.OnTime"-Makros innerhalb der "Do..Loop"-Schleife:

[
Bild bitte so als Datei hochladen: Klick mich!
]
Status nach der Ausführung des "Application.OnTime"-Makros innerhalb der "Do..Loop"-Schleife:
[color=#333333][size=small][font=Tahoma, Verdana, Arial, sans-serif][
Bild bitte so als Datei hochladen: Klick mich!
]
Hallo zusammen,

erstmal vielen Dank für Euren Input.

@Anton, da hast Du natürlich recht  Idea. Das erklärt, warum Excel bei allen Test schon recht merkwürdig reagiert hat. Damit ist das Ganze Thema eigentlich erledigt...

@RPP63, leider habe ich Anton's Bilder nicht gesehen. Ich habe mit Strg+Umschalt+Esc unterbrochen und ne CPU_Auslastung für Excel von 30% gesehen.

@RRP63, ich habe den kompletten Code als Datei angehängt. Bitte sei nachsichtig mit Kritik  23 .
Zum Aufbau:
Modul "A_Ablauf": Grobe Reihenfolge und Festlegungen aller statischen Variablen.
Modul "B_Vorbereitung": Öffnen der Ausgabedatei, einfügen des Datums und Festlegen der späteren Einfügebereiche.
Modul "C_SAP-Abfrage": Verbindung zum SAP herstellen und verschiedene Reports ziehen und als .xlsx-Dateien abspeichern.
Modul "D_Daten_Einlesen": Einlesen der Daten in Datenfelder.
Modul "E_SAP_Zusatzdaten": Nochmals Daten aus SAP ziehen.
Modul "F_Auswertung": Auswertung der Daten nach verschiedenen Kriterien.
Modul "G_Ausgabe": Ausgeba der gewonnenen Daten in die Ausgabedatei.
Modul "H_Mitarbeiter": Verarbeitung beigestellter Excel-Dateien zur Anwesenheit. 
Modul "I_Nachbereitung": Schließen sämtlicher geöffneter Dateien und SAP.
Modul "Y_Prozeduren": verschiedene Prozeduren, die den Ablauf noch unübersichtlicher machen würden.
Modul "Z_Fehlerbehebung": Abarbeitung möglicher Fehler.

Das Problem ist eigentlich das schon mehrfach gepostete SAP-Excel-Problem. Es tritt vermehrt (nicht immer und nicht ausschließlich) im Modil "E_SAP_Zusatzdaten" auf. In der Prozedur "B_MRPData_SAP" ziehe ich umfangreiche Daten und speichere sie als .xlsx-Datei. Diese Datei benötige ich in der Prozedur "C_MRPData_Einlesen".
SAP öffnet selbstständig die exportierte .xlsx-Datei. Das lässt sich auch nicht unterdrücken. Dazu wird (manchmal, nicht immer und für mich nicht nachvollziehbar) eine neue Excel-Instanz geöffnet.

Je nach Menge der Daten benötigt dieser Öffnungs-Prozess unterschiedlich lange. Und jetzt kommt mein Problem.
Über "Set WkbMRPData = GetObject(StrPfadDaten & "\" & StrMRPData)" öffne ich die Datei, sobald sie gespeichert wurde. SAP ist in seinem Ablauf scheinbar manchmal langsamer und öffnet die Datei erst später. Dann bekomme ich eine Fehlermeldung, dass die Datei bereits geöffnet ist.

Mein Gedanke war jetzt, dass ich meinen Ablauf so lange warten lasse, bis SAP die Datei geöffnet hat und erst dann darauf zugreife.
Daraus resultierte die erste Schleife:
Code:
Do
    Application.Wait (Now + TimeValue("0:00:10"))
Loop Until DateiGeoffnet = True
Allerdings scheint das Wait irgendwie alles zu verlangsamen. Die Datei wird von keinem der beiden Prozesse geöffnet. Breche ich den Code nach mehreren Schleifendurchläufen ab, erscheint die Datei. Warte ich länger mit dem Unterbrechen, erscehint die Datei trotzdem erst nach dem Unterbrechen.
Nächster Ansatz war die Application.OnTime-Variante, die aber natürlich nicht funktioniert, da der Code an sich ja nicht angehalten wird.

Nachdem ich kein Informatiker bin, weiß ich nicht, was da genau passiert und was ich dagegen tun kann. Bin aber für alle Tipps dankbar...

Vielen Dank,
Lutz
Hast du je von Querytables gehört ?
Hallo snb,

habe ich schon mal, aber Mangels wirklicher Kenntnis noch nie ernsthaft angewandt.

Wo sollte ich sie wie hier einsetzen?

Gruß,
Lutz
Seiten: 1 2