Christian Lindner, 93161 Sinzing / Regensburg, Bayern

Makro Skripte für Windows

Hast du in der Arbeit Aufgben am PC, die sich ständig wiederholen und somit nervig und ermüdend sind? Der einfache Weg ist es, einen Programmierer zu beauftragen, der dir ein Automatisierungstool erstellt. Dies ist aber meist Kostspielig, außerdem muss der Richtige erst mal gefunden werden. Und wie sieht es bei Veränderungen aus, die eine entsprechende Anpassung erforderlich machen? Meine Lösung hierfür:

Eigene Makroprogrammierung für die Steuerung von Windows-Arbeitsprozessen

Vielleicht hast du schon von Makros im Zusammenhang mit MS-Office z.B. bei Excel gehört oder diese eingesetzt? Hierbei handelt es sich um Hilfsprogramme, die (einfach ausgedrückt) den Bearbeiter am PC ersetzen, indem vorprogrammierte Schritte ausgeführt werden. In meiner Info geht es aber um externe Programm-Tools, die jegliche Arten von Programmen (unter Windows) steuern, also Arbeitsaufträge die nicht nur ein Programm betreffen.

Meine Arbeitseinsätze von Makroprogrammen:

  • Eintrag von Textteilen in mehr als 1.500 Kundendaten.
  • Regelmäßige Erstellung von Datenpaketen und Auswertungen, die zeitgesteuert selbständig laufen.
  • Auslesen von Excel-Daten und Einarbeitung in Dateien (z. B. Pdf-Dokumente). Hierbei werden sämtliche Dateien selbständig geöffent, bearbeitet und wieder abgespeichert.
  • Umsortierung von Dateninhalten.
  • und vieles mehr

Das erstellen eines Makroprogrammes ist das eine, wichtig für eine reibungslose Ausführung ist aber eine stabile Programm- und Hardwareumgebung. Meine Empfehlung:

  • Stabile PC-Umgebung, Erklärung: Im Gegensatz zum persönlichen User nimmt ein Makro-Programm keine Rücksicht, wenn der PC gerade etwas länger braucht (weil z.B. im Hintergrund gerade ein anderes Programm gestartet wird ...). In diesem Fall müssen in der Programmierung feste Wartepausen eingestellt werden, alternativ Rückfragen und/oder ein PC mit entsprechenden stabilen sowie konstanten Rahmenbedingungen.
  • Es müssen konstante Rahmenbedingungen der zu bearbeitenden Bereiche gegeben sein. Wenn Arbeitsschritte immer an abwechselnden Stellen vorgenommen werden müssen (viele individuelle Ausnahmen im Programmablauf), ist der Programmieraufwand meist zu hoch. Hier ist im Vorfeld auch die Datenstruktur des Unternehmens entscheidend. Oder auch anders erklärt: Diese Programme sind meist nur für stupide Arbeitsabläufe ideal!
  • Zu Beachten ist auch, dass eine Programmierung an einem schnellen Rechner später auf einem anderen Rechner (der nicht die selbe Leistungsqualität hat) anders laufen kann und wird (da wären wir wieder bei der stabilen PC-Umgebung). Es empfielt sich deshalb zwischendurch Tests in der endgültigen Arbeitsumgebung durchzuführen.

Fazit:
Da die Programmierung je nach Umfang sehr zeitaufwendig ist, rentiert sich nur ein Einsatz bei hohen Stückzahlen der Bearbeitung oder regelmäßiger Wiederholung des Arbeitsvorgangs. Allerdings durfte ich auch feststellen, dass nach einem gewissen Grundstock von Makroprogrammen die Umwandlung für andere Arbeiten recht schnell sein kann. Aufwendig ist meist immer die komplette Ersterstellung.

Programmempfehlungen für die Makro-Programmierung:


Makro Express

Macro Express

Programm aus den USA, welches in der einfachen Ausführung für 44,95 USD (Stand 08/2018) pro Lizenz gekauft wird. Die meisten Programmteile werden hier als Bausteine zusammen gefügt, lediglich individuelle Texte, Variablen etc. werden vom Programmierer erfasst. Somit kann relativ schnell ein Makro zusammen gestellt werden.

Pro:
Die Hemmschwelle, ein Makro für weniger umfangreiche Arbeiten zu erstellen ist hier nicht zu hoch. Der Programmierer kann nach kurzer Einarbeitungszeit bereits Programme erstellen, die einzelnen Programmteile sind gut beschrieben (Englisch).

Contra:
Die Programme werden nur auf dem Rechner ausgeführt, auf dem das Programm MacroExpress lizenziert ist. Auch musste ich immer wieder Probleme bei der zeitgesteuerten Ausführung speziell am Server (Windows 2012) feststellen (Makros wurden nicht vollautomatisch ausgeführt).

weiter zu MakroExpress


AutoHotKey

AutoHotkey

OpenSource-Programm, mit dem ebenfalls Steuerungen auf Ihrem PC automatisiert werden können. Hier ist allerdings ein höherer Programmieraufwand erforderlich, da von der ersten bis zur letzten Zeile jeder Steuerbefehl individuelle erfasst werden muss. Nach einer etwas aufwendigeren Einarbeitungszeit sind dies aber auch oft Kopiervorgänge mit kleinen Anpassungen. Die Erstellung erfolgt über den Editor. Das erstellte Programm kann direkt ausgeführt werden (wo AutoHotKey installiert wurde) aber auch Programmunabhängig durch die Umwandlung in eine .exe. Hierzu empfehle ich den nachfolgenden Hinweis zur Aufgabensteuerung!

Pro:
Einfache Programmumgebung, programmunabhängige Ausführung durch Umwandlung in eine .exe, engagierte Community die einem schnell hilft, Erklärungen auf deutsch sind vorhanden, Programm ist kostenfrei

Contra:
Programmieraufwand ist aufwendiger und schwieriger.

weiter zu AutoHotKey


Makroprogrammierung seit 2014: Meine persönliche Erfahrung

Verwendet wurden von mir beide Programme unter: Windows 7+10 sowie Server 2012.

Die Ursprüngliche Entscheidung für mich war MakroExpress, aus dem einfachen Grund, weil die Programmierung schnell und einfach umgesetzt werden konnte. Da aber spezielle im automatisierten Bereich am Server (automatischer Programmlauf zu gewissen Zeiten) es immer wieder zu Ausfällen kam, bin ich hierzu auf AutoHotKey umgestiegen. Somit verwende ich:

MakroExpress für kurzfristig umzusetzende Aufgaben, die lokal vorgenommen werden.

AutoHotKey für zeitgesteuerte dauerhafte Anwendungen, sowie für Aufgaben, die an externen Geräten durchgeführt werden müssen.


Ausführung der Makros mit der Windows-Aufgabensteuerung

Werden mit AutoHotKey am Ende exe-Programme erstellt, die regelmäßig ausgeführt werden sollen, so wird dies idealer Weise mit der Windows Aufgabensteuerung durchgeführt. Hierbei handelt es sich um ein Zubehörprogramm von Windows, in dem zu den erfassten Zeiten automatisch voreingestellt Aufgaben durchgeführt werden (zu finden unter: Zubehör -> Systemprogramme -> Aufgabenplanung)

Was ist hier bei einer Anwendung am Server besonders wichtig!

Auf die Erfassung einer Aufgabe möchte ich hier nicht explizit eingehen, dies ist aus meiner Sicht selbsterklärend und muss bei Bedarf einfach mal etwas ausprobiert werden. Was hier (speziell am Server) extrem wichtig ist, ist die Rechtevergabe des Erfassers der Aufgabe.
Mein Problem, mit dem ich ewig lange gekämpft habe: Die Aufgabe ist gelaufen wenn ich diese manuell gestartet habe, nicht aber im Hintergrund!

Hier die Erklärung:
Die Aufgabe wurde von mir als Admin per Remote am Server angelegt. Das war der entscheidende Fehler, da der Admin via Remote weniger Rechte hat, als wenn man direkt als Admin am Server arbeitet.

Fazit:
Aufgaben am Server immer mit den höchsten Adminrechten anlegen, wenn diese selbständig im Hintergrund laufen sollen!

Ich wünsche viel Erfolg bei der eigenen Umsetzung!


Christian Lindner - Ansatzumstellung für Trompete

Was sind deine Erfahrungen?

>> Kommentar >>