Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Timer zum Makrostart?!

Forumthread: Timer zum Makrostart?!

Timer zum Makrostart?!
13.04.2004 14:03:56
Andre
Hi, hat jemand ´ne Idee, wie ich alle halbe Stunde ein Makro laufen lassen kann?
Ok, ok, ich weiß mit der OnTime-Methode, aber bei dieser Methode läuft das Makro permanent ab und das erschwert verständlicherweise die Arbeit an dem Rechner etwas!
Es wäre fantastisch, wenn ich mein Makro lediglich alle halbe Stunde einmal starten lassen könnte, zwischendurch sollte dieses Makro aber nicht arbeiten.
Gruß Andre
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Timer zum Makrostart?!
13.04.2004 14:12:36
ChrisL
Hi Andre
OnTime oder mittels "Scheduled Tasks" in Windows. Eine andere Variante sehe ich nicht.
Gruss
Chris
Trotzdem Danke. o.T.
13.04.2004 14:40:07
Andre
AW: Timer zum Makrostart?!
13.04.2004 15:17:13
Kurt
Wenn du dich mich Api- Funktionen auskennst, kannst du eine Klasse
programmieren, die einen Timer laufen läßt ohne die normale Arbeit
in Excel zu behindern.
Kurt
Anzeige
AW: Timer zum Makrostart?!
14.04.2004 16:17:03
Andre
Hi Kurt,
danke für deinen Tip, aber die Sache soll lediglich nebenbei auf einem Server laufen und Emails sammeln und versenden, d.h. generell wird dort nicht viel gearbeitet, es laufen nur Programme und Dienste.
Ich habe herausgefunden, dass die Auslastung einer Schleife durch eine Unterbrechung mit "Application.wait" deutlich minimieren werden kann, d.H. ich kann trotz permanentem Schleifendurchlauf auf alle Bereiche zugreifen (zwar nicht auf die Excelinstanz in der momentan die Schleife läuft, aber das ist mittlerweile sekundär!)
Um diesen Thread zu verfollständigen: ich nutze jetzt folgende Schleife, die der Benutzer u.U. durch Betätigung eines Buttons auf einer Userform unterbrechen kann:

Sub Message_Director()
If Unterbrechung = "1" Then
Messager.fortsetzen.ForeColor = &HFF0000
Messager.unterbrechen.ForeColor = &H80000011
Messager.Caption = "Message-Director - offline"
Exit Sub
End If
Messager.Caption = "Message-Director - online"
Messager.fortsetzen.ForeColor = &H80000011
Messager.unterbrechen.ForeColor = &HFF0000
Set OutApp = CreateObject("Outlook.Application")
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(Trim(Messager.Verzeichnis.Caption))
Set fc = f.Files
For Each f1 In fc
Messager.Nachricht.Caption = "  " & f1.Name
Messager.Typ.Caption = "  " & f1.Type
Application.Wait (Now + TimeValue("0:00:01"))
If f1.Type = "Outlook-Element" Then
Set myitem = OutApp.CreateItemFromTemplate(f1)
myitem.Send
Kill (f1)
Else
unverarbeitet = unverarbeitet + 1
End If
Next
Messager.Nachricht.Caption = ""
Messager.Typ.Caption = ""
Messager.unverarbeiteteNach.Caption = unverarbeitet
Call Übersicht_Verzeichnis
Messager.Anzahl.Caption = [Counta(Messages!A2:A65536)]
If InstanceCheck("Outlook") <> True Then
Status = Shell("outlook.exe", vbMinimizedFocus)
End If
Application.Visible = True
ET = Now + TimeValue("00:00:10")
Application.OnTime ET, "Message_Director"
End Sub

Gruß Andre
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige