Api-Timer-Problem-->Excel-Crash

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Api-Timer-Problem-->Excel-Crash
von: Marcus Kempf
Geschrieben am: 11.09.2015 06:59:25

Guten Morgen,
da das vorliegende Problem meine ursprünliche Frage zu den Idle-Timern bereits etwas übersteigt habe ich mich dazu entschlossen mal einen neuen Thread zu eröffnen.
In der angefügten Datei wird beim Öffnen ein Api-Timer im Takt von 1 Sekunden gestartet.
Durch diesen wird sekündlich die Dauer der aktuellen Inaktivität geprüft.
Ist ein vorgegebener Wert überschritten, so soll der Timer beendet und anschließend die Datei gespeichert und beendet werden.
Dies führt zum Absturz von Excel mit vielfältigen Debuggerfehlermeldungen.
Nun das komische, dies tritt nur durch programmtechnischen Aufruf auf.
Hänge ich das Ganze an einen Commandbutton, so wird alles fehlerfrei ausgeführt.
Hat jemand eventuell eine Erklärung, warum dies so ist und einen Lösungsansatz für das Problem?
https://www.herber.de/bbs/user/100122.xlsm
Vielen Dank im Voraus und Gruß
Marcus

Bild

Betrifft: AW: Api-Timer-Problem-->Excel-Crash
von: EtoPHG
Geschrieben am: 11.09.2015 09:53:53
Hallo Marcus,
1. Siehe meine Antwort in deinem alten Thread.
2. Ich bringe deine Beispielmappe nicht zum Absturz und sehe keine Fehlermeldungen. Also was genau verstehst du unter 'programmtechnischen Aufruf' ?
Gruess Hansueli

Bild

Betrifft: AW: Api-Timer-Problem-->Excel-Crash
von: Marcus Kempf
Geschrieben am: 11.09.2015 10:02:07
Hallo Haneuli,
unter Programmtechnischem Aufruf verstehe ich Folgendes:

'Inaktivität prüfen aufrufen im Sekundentakt
Sub TimerProc(ByVal HWnd As Long, ByVal uMsg As Long, ByVal nIDEvent As Long, ByVal dwTimer As  _
Long)
    'Inaktivität prüfen aufrufen
    If IdleTime >= Time_To_Idle Then 'Vergleich Idletime mit Zeitvorgabe in Sekunden
        'Sekundentakt beenden
        Call EndTimer
        'Arbeitsmappe speichern und schließen
        ThisWorkbook.Close savechanges:=True
    End If
End Sub
Ein händischer Aufruf wäre für mich.
Private Sub CommandButton1_Click()
        'Sekundentakt beenden
        Call EndTimer
        'Arbeitsmappe speichern und schließen
        ThisWorkbook.Close savechanges:=True
End Sub
Bei der zweiten Variante funktioniert alles wie gewollt.
Bei der ersten ist das beigefügte Bild bei mir das Ergebnis, wobei die Fehlernummer diefferiert:
Userbild
Gruß Marcus

Bild

Betrifft: AW: Api-Timer-Problem-->Excel-Crash
von: Luschi
Geschrieben am: 11.09.2015 10:12:58
Hallo Marcus,
Du versuchst innerhalb der Prozedur, die per 'AddressOf'-Parameter durch eine Win-Dll realisiert wird, die Arbeitsmappe auch zu schließen, das muß ja schief gehen.
siehe: https://msdn.microsoft.com/de-de/library/office/gg264099%28v=office.15%29.aspx
Starte innerhalb dieser Routine einen neuen Applications-Timer und alles ist dann Paletti:
https://www.herber.de/bbs/user/100130.xlsm
Gruß von Luschi
aus klein-Paris

Bild

Betrifft: AW: Api-Timer-Problem-->Excel-Crash
von: Marcus Kempf
Geschrieben am: 11.09.2015 10:35:37
Hallo Luschi,
ich muss leider sagen, dann passiert bei mir gar nichts mehr.

Bild

Betrifft: AW: Api-Timer-Problem-->Excel-Crash
von: Marcus Kempf
Geschrieben am: 11.09.2015 10:41:52
So, nun tut es bei deaktiviertem Editiermodus wie es soll, bei aktiviertem läuft es jedoch dennoch in einen Fehler, was mich dann leider wieder an Hanuelis Worte denken lässt, es wird wohl ums verrecken nicht möglich sein...
Den editiermodus müsste man irgendwie verlassen können...

Bild

Betrifft: AW: Api-Timer-Problem-->Excel-Crash
von: Luschi
Geschrieben am: 11.09.2015 10:42:21
Mallo Marcus,
habe die selbe Datei nochmals hochgeladen und getestet, die alte hatte eine Macke.
https://www.herber.de/bbs/user/100131.xlsm
Gruß von Luschi
aus klein-Paris

Bild

Betrifft: AW: Api-Timer-Problem-->Excel-Crash
von: Marcus Kempf
Geschrieben am: 11.09.2015 10:55:59
Hallo Luschi,
danke für den erneuten Aufruf.
Aber ich muss sagen, wenn ich mich im Editerimodus befinde laufe ich immernoch in einen Excel-crash.
Ich muss sagen ich habe solangsam auch die Schnauze voll.
Ich gebs auf.
Dennoch danke
Marcus

Bild

Betrifft: Endlich kommt die Einsicht!
von: EtoPHG
Geschrieben am: 11.09.2015 11:08:10
Marcus,
Ja, du musst dein Vorhaben vergessen.
Das war übrigens die allererste Antwort von fcs auf deine Frage!
Gruess Hansueli

Bild

Betrifft: AW: Endlich kommt die Einsicht!
von: Marcus Kempf
Geschrieben am: 11.09.2015 12:08:23
Hanueli,
DAS war nicht fcs Antwort, da ging es nämlich noch um die ontime ereignisse, aber das tut nun auch nichts mehr zur Sache.
Es freut mich so ermutigt worden zu sein, ein bestehendes Problem noch einmal anzugehen und vllt doch eine Lösung zu finden.
Seis drum.
Wie würdest Du denn folgendes Problem lösen?
Eine Excel-Datei ist mehreren Usern zugänglich.
Vergisst ein User sie zu schließen ist sie für alle anderen User gesperrt.
Ist die Datei freigegeben, so werden alle zwischenzeitlich gemacht Änderunge überspeichert.
Gruß Marcus

Bild

Betrifft: AW: Endlich kommt die Einsicht!
von: EtoPHG
Geschrieben am: 11.09.2015 12:32:29
Hallo Marcus,
Excel ist grundsätzlich nicht für Parallel-Ver/Bearbeitung geeignet. Die meisten XL-Profis raten vom Freigeben von Arbeitsmappen ab.
Es kommt ganz auf die Anwendung/Anforderung an, Möglichkeiten sind, beispielhaft:
Mit der Bearbeitung/Sperrung leben (v.a. bei geringen und frequenzierbaren Bearbeitung durch mehrere).
Wenn Möglich die Arbeitsmappen auf Konsoldierte Daten beschränken und individuelle Teile in separate Mappen Auslagern (z.B. Projektmanangment über Konsolidierungen, Zeiterfassungen individuell: Mappe pro User).
Excel nur als GUI verwenden, Daten in Access.
etc...
Gruess Hansueli

Bild

Betrifft: AW: Api-Timer-Problem-->Excel-Crash
von: EtoPHG
Geschrieben am: 11.09.2015 11:01:40
Hallo Luschi,
Das funktioniert zwar auch wenn Excel im Editiermodus ist.
Zudem wird der Timer auch dann zurückgesetzt, wenn andere Windows/Benutzeraktivitäten ausserhalb von XL stattfinden!
Wird die Datei allerdings in diesem Modus geschlossen, ist sie durch XL noch im Bearbeitungsmodus und wird nach erneutem Öffnen als solche deklariert. Alle vorangegangenen Änderungen und die Eingaben in der editierten Range gehen dabei verloren!
Gruess Hansueli

Bild

Betrifft: AW: Api-Timer-Problem-->Excel-Crash
von: EtoPHG
Geschrieben am: 11.09.2015 10:13:08
Hallo Marcus,
Was heisst: wobei die Fehlernummer diefferiert ??
Anscheinend sind bei dir noch irgendwelche Add-Ins und andere Komponenten (CIM DATABASE) in Excel aktiv, die zum Fehlerverhalten führen könnten. Inaktiviere mal all diese und versuche deinen Mappe dann laufen zu lassen!
Gruess Hansueli

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Arbeitsmappe durchsuchen und vergleichen"