Excel-VBA-Anwendung.OnTime. Ich denke es ist eine schlechte Idee, diese Gedanken... oder so?
Ich habe eine Reihe von Benutzern, die ich unterstützen, sind Fragen, für Dinge, die automatisch geschehen ( naja eher automatisch, aber das ist ein anderer Punkt!).
Will man die Ereignisse passieren alle 120 Sekunden ( siehe meine andere Frage ) und auch andere will 1 Sache, die geschehen kann, sagen Sie an 5pm jeden Tag. Diese werden in der Excel-Tabelle also VBA als add-ins etc., wird ein Nein, wie es sein muss selbst enthalten ist.
Ich habe eine große Abneigung gegen die Verwendung Application.OnTime
ich denke, die gefährlich und unzuverlässig, was auch alle anderen denken?
BEARBEITEN:
Kreuz-post ist bei VBA-Makro On-Timer-Stil, um code auszuführen, der jeden festgelegte Anzahl von Sekunden, also 120 Sekunden
InformationsquelleAutor FinancialRadDeveloper | 2010-02-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
- Anwendung.OnTime ist absolut 100% zuverlässig und ist definitiv nicht gefährlich. Es ist jedoch nur ausgesetzt über VBA, und Sie werden über VBA als "no-no" für einige Grund hier, also würde diese option scheint nicht verfügbar zu Ihnen.
Würde ich generell nicht verwenden OnTime für langfristige Planung, wie z.B. Planung von Excel führen Sie einen Befehl jeden Tag um 5pm. Das problem ist, dass, wenn der Benutzer Excel geschlossen, dann die OnTime-zeitgesteuerte Verarbeitung verloren. Was würden Sie brauchen, in diesem Fall ist die Verwendung der Task Scheduler, oder erstellen Sie Ihre eigene Anwendung oder windows-Dienst, öffnen Sie Excel, und führen Sie Ihre Befehle.
Für die zeitgesteuerte Verarbeitung eines Ereignisses alle 120 Sekunden, jedoch mit Anwendung.OnTime wäre perfekt für diese-Sie würden einfach brauchen, um neu zu planen OnTime wieder auftreten in 120 Sekunden zu jeder Zeit, die OnTime-Aufrufe zurück, weil die OnTime-nur feuert einmal pro scheduling, nicht auf eine Wiederholung basis. Ich wäre absolut für das verwenden von VBA für diese Aufgabe. Wenn Sie nicht möchten, VBA Beginn der Aktion, ist das in Ordnung: nur das VBA in einer Arbeitsmappe enthaltenen, die wird dann geöffnet, indem Sie Ihr Programm oder über den Task Scheduler. Von diesem Punkt an, wird der VBA-code ausgelöst werden können alle 120 Sekunden.
Sinn?
InformationsquelleAutor Mike Rosenblum
Du hast Recht. eine "unendliche" Intervall "onTime" nennt sich selbst, wird eine unendliche Rekursion.
Es wird verursacht einen Stapelüberlauf nach paar tausend/Millionen/Milliarden-Funktion aufruft, und es wird "leak" - Speicher.
InformationsquelleAutor Berry Tsakala