Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1284to1288
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Taskplaner

Taskplaner
04.11.2012 13:27:20
Snewi
Hallo,
ich stoße jetzt meinen Bericht automatisch mit dem Taskplaner an!
Über Workbook_Open wird dann mein Makro ausgeführt ! Jetzt möchte ich wenn alles fertig ist, dass Excel sich automatisch auch wieder schließt! Trotzdem möchte ich den Berixht auch noch manuell anstoßen und hier darf sich Excel natürlich nicht schließen !
Wie mache ich das?
Gruss

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Taskplaner
04.11.2012 13:46:55
{Boris}
Hi Snewi,
arbeite mit eine öffentlichen (Public) Boolschen Variablen, die Du entsprechen mit TRUE bzw. FALSE fütterst - somit hast Du für beide Varianten eine Unterscheidung.
Und diese Variable fragst Du vor dem Schließen-Code ab.
VG, Boris

AW: Taskplaner
04.11.2012 17:24:27
Snewi
Hi und woher weiß ich wann das Sheet von dem Taskplaner gestartet wird und wann von mir?
Gruss

AW: Taskplaner
04.11.2012 20:43:57
{Boris}
Hi Snewi,
Hi und woher weiß ich wann das Sheet von dem Taskplaner gestartet wird und wann von mir?
Und woher weiß ich, wie der Code von Deinem Taskplaner und wie von Dir gestartet wird?
VG, Boris

Anzeige
AW: Taskplaner
04.11.2012 21:08:48
Snewi
Der Taskplaner ist von Windows xp diesem sag ich einfach starte um 7:00 täglich mein Excelsheet! Hier wird dann über Workbook_Open was gemacht und dann soll die Excel-Datei wieder geschlossen werden! Wenn ich jetzt ActiveSheet.Close ans Ende des Makros packe passiert dies auch! Leider aber auch, wenn ich es so mal starten möchte !
Wie kann ich das umgehen?
Gruss

AW: Taskplaner
04.11.2012 21:17:40
{Boris}
Hi Snewi,
wie gesagt - füge eine öffentliche Variable ein. Diese hat von Haus aus den Wert FALSE - und darauf prüfst Du die Variable VOR dem Beenden. Und wenn Du das Ganze manuell startest, setzt Du die Variable auf TRUE - und dann wird nicht beendet.
Mangels genauem Code Deinerseits kann ich derzeit nicht genauer werden.
VG, Boris

Anzeige
AW: Taskplaner
04.11.2012 21:29:51
Snewi
Ok ich versteh aber noch nicht, wenn ich die Excel-Datei mit dem Taskplaner starte oder manuell, es wird beides mal Excel gestartet! Auf was soll ich den prüfen?
Gruss

Falls du das Ganze manuell starten ...
04.11.2012 22:55:33
Luc:-?
…willst, Snewi,
starte nicht die HptRoutine, die der Taskplaner benutzt, sondern eine Hilfsroutine, in der du die von Boris vorgeschlagene Variable auf True setzt. Anschließend lässt du diese Routine die HptRoutine aufrufen.
Falls die HptRoutine im MakroAssi nicht angezeigt wdn soll, kannst du auch etwas anders vorgehen. Der Kopf der HptRoutine sollte dann einen optionalen Parameter As Boolean enthalten. Den kannst du ggf auch gleich anstelle der globalen Public-Variablen benutzen. Bei DirektStart der HptRoutine ist der automatisch False. Von der Hilfsroutine aus startest du die HptRoutine mit Call hptroutinenname(True) oder nur hptroutinenname True (ggf auch mit Run "hptroutinenname", True).
Der Taskplaner startet die HptRoutine wie gewohnt ohne Parameterangabe (das geht, weil der Parameter optional ist). Auf den Button, mit dem du manuell startest, legst du den Aufruf der Hilfsroutine (die natürl unparametriert sein muss). Im MakroAssi wird so stets nur die Hilfsroutine angezeigt, man kann aber trotzdem auch die HptRoutine von hier aus manuell starten, wenn man weiß, wie sie heißt. Dann wäre es so, als ob der Taskplaner die HptRoutine startet. Auf diese Weise kann man das gut testen.
Das ist übrigens alles ein „alter Hut“, denn schon vor 50 Jahren hatten Pgmm oft mehrere „Eingänge“, von deren jeweiliger Benutzung der weitere Verlauf abhängig gemacht wdn konnte.
Gruß Luc :-?

Anzeige
AW: Falls du das Ganze manuell starten ...
04.11.2012 23:44:25
Snewi
Hi,
wäre es vielleicht einfacher alles über eine Batch oder VBScript Datei zu machen?
Also Excel starten und dann wieder schließen ?
Gruss

AW: Falls du das Ganze manuell starten ...
05.11.2012 13:03:51
Nepumuk
Hallo,
ich würde ein Script dazu benutzen. Aber nur wenn du keine DoEvents in deiner Prozedur hast, sonst könnte es passieren dass das Script die Mappe schließt bevor das Programm durch ist.
Gruß
Nepumuk

AW: Falls du das Ganze manuell starten ...
05.11.2012 13:29:17
Snewi
Hallo Nepumuk,
wie würde das Script aussehen? Kannst du mir einwenig unter die arme greifen?
Möchte wie gesagt meine ExcelMappe starten, dann läuft meine Prozedur und danach Excel wieder schliessen!
Das Script würde ich dann über den Taskplaner anstossen!
Gruß

Anzeige
AW: Falls du das Ganze manuell starten ...
05.11.2012 13:47:09
Snewi
könnte das so ausehen?

Dim objExcel
Dim objWorkbook
Set objExcel = CreateObject("excel.application")
Set objWorkbook = objExcel.Workbooks.Open("D:\xxx\xxx.xlsm")
objExcel.Visible = True
objExcel.DisplayAlerts = False
objWorkbook.Close
Gruß Snewi

AW: Falls du das Ganze manuell starten ...
05.11.2012 16:07:40
Nepumuk
Hallo,
das sollte genügen:
Dim objExcel
Set objExcel = CreateObject("Excel.Application")
objExcel.Workbooks.Open "D:\xxx\xxx.xlsm"
objExcel.Quit

Gruß
Nepumuk

Anzeige
AW: Falls du das Ganze manuell starten ...
05.11.2012 21:40:49
Snewi
Klappt Super Danke!!!

...and over and out! owT
05.11.2012 23:26:46
Luc:-?
:-?

AW: Taskplaner
05.11.2012 15:58:03
EtoPHG
Hallo Snewi,
Dann öffne die Datei mit gehaltener Shift-Taste. So wird beim manuellen das Workbook_Open nicht durchlaufen!
Gruess Hansueli

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige