Automatisches Update über Nacht

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

Betrifft: Automatisches Update über Nacht
von: Meyer
Geschrieben am: 27.05.2015 11:15:36

Hallo Zusammen,
da die Aktualisierung meines Excel-Dashboards bis zu 15min dauert, würde ich gerne die Aktualisierung einmal in der Woche in der Nacht laufen lassen. Meine Idee war ein neues Excel (Update)zu erstellen, welches automatisch vom Server gestartet wird. In der Excel Update sollen immer beim Start folgende Makros gestartet werden:
Markos Excel.Update:
- Öffne Excel Dashboard
- Starte Markos Aktualisierung Dashboard
- Schliessen Excel Update
Markos Aktualisierung.Dashboard:
- Externe Daten Abrufen (Kopiert die aktuellen Daten aus einer CSV Datei in das Tabellenblatt.Rohdaten)
- Kopiere Rohdaten in Tabellen (Bereits vorhanden)
- Warten bis Update vollständig
- Speichern Excel.Dashboards
- Schliessen Excel. Dashboards
Ist das so möglich? Oder gibt es eine andere bessere Lösung?
Vielen Dank für eure Unterstützung

Bild

Betrifft: AW: Automatisches Update über Nacht
von: Michael
Geschrieben am: 27.05.2015 15:32:14
Hallo Meyer,
man kann Excel mit einer Reihe von Optionen bzw. Parametern starten, nachzulesen etwa hier:
https://support.office.com/de-ch/article/Befehlszeilenoptionen-f%C3%BCr-Excel-321cf55a-ace4-40b3-9082-53bd4bc10725?ui=de-DE&rs=de-CH&ad=CH
Nur: wie mache ich Excel klar, daß ich etwas automatisch erledigt haben möchte? Quasi eine selbstdefinierte Option?
Man steckt das zusammen mit einer Evironment-Variablen in eine Batchdatei, z.B. EnvironMachen.bat:

set machen=werkeln
"C:\Program Files\Microsoft Office\Office\EXCEL.EXE" C:\A_Herber\EnvironMachen.xls
set machen=
Hier sind natürlich die Pfade von meiner Maschine bzw. zum Uralt-Excel 2000 und der Datei mit dem folgenden Makro:

Private Sub Workbook_Open()
MsgBox Environ("machen")
' Hier Funktionalität einbauen,
' wenn "machen" gesetzt Wert=werkeln
End Sub
Du mußt natürlich Excel so konfigurieren, daß beim Öffnen keine Meldung kommt (bei mir mußte ich das "Makro aktivieren", aber nachts ist halt keiner da), oder es gibt evtl. eine Option, mag aber nicht nachlesen.
Environ meckert nicht, wenn der Wert nicht gesetzt ist (es gibt "" aus), aber vielleicht sollte man ihn trotzdem anstandshalber beim Systemstart (ja, es gibt noch eine autoexec.bat) setzen, z.B.
set machen=nix
Das Ganze sieht dann so aus:
Userbild
(zwischendrin habe ich X händisch wieder geschlossen, das mußt Du natürlich auch programmieren)
Man könnte alternativ auch eine Textdatei erstellen und wieder löschen und deren Vorhandensein abfragen. Geht auch easy in einer Batchdatei:
copy machen.nix machen.doch
rem Auruf wie oben
del machen.doch
Wenn Du fähig bist, das vom Server aufrufen zu lassen, kannst Du sicher auch mit einer Batchdatei umgehen.
Schöne Grüße,
Michael
P.S.: Ich sehe grad, daß die Lösung etwas an Deiner Fragestellung vorbeigeht - sie läßt sich auch in die "normale" Datei einbauen.
Wenn Du eine getrennte Datei nehmen möchtest, mußt Du nur die Private Sub Workbook_Open() verwenden, da kannst Du alle Tätigkeiten der Reihe nach aufrufen.
Du findest sie im VB-Editor, indem Du im linken Bereich "Diese Arbeitsmappe" anklickst, dann rechts (über dem Textfenster) mit dem Pfeil anstelle (allgemein) den Eintrag Workbook auswählst und rechts daneben das Ereignis Open.

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Automatisches Update über Nacht "