Anmelden

Software für Gutachter: Teil 2 – Autohotkey

Mit der „Software für Gutachter (und Sachverständige)“ stellen wir Ihnen hilfreiche Programme vor, mit denen Sie Ihren Alltag im Büro vereinfachen können.

Heute gehts um Autohotkey und ich zeige Ihnen anhand einiger Beispiele, wie das Programm funktioniert und wie es Ihnen behilflich sein kann.

Was ist Autohotkey?

Autohotkey ermöglicht es wiederkehrende Aufgaben unter Windows zu automatisieren. Das könnten Textersetzungen sein, wie beispielsweise das Umwandeln von „mfg“ zu „Mit freundlichen Grüßen“. Oder auch das Zuordnen von Programmen zu bestimmten Tastenkombinationen. Sie können mit Autohotkey aber auch Maus- und Tastaturfolgen aufzeichnen, um sie später wieder auszuführen. Fortgeschrittene Funktionen es erlauben sogar, eigene Dialoge zu erstellen und das jeweilige Script als Programm zu speichern, um es auf anderen Rechnern einzusetzen. So könnten Sie beispielsweise ein Skript erstellen, was sämtliche Textersetzungen und Tastenkombination enthält und es als Programm auf allen Rechnern im Büro einsetzen.

Autohotkey installieren

Zuallererst brauchen Sie natürlich Autohotkey. Das englischsprachige Programm ist kostenlos erhältlich und Sie müssen es auf Ihrem Rechner installieren. Nach dem Installieren geschieht erstmal nichts. Das liegt daran, dass Sie ein Skript brauchen, welches Anweisungen enthält. Autohotkeyskripte haben immer die Dateiendung „ahk“. Per Doppelklick wird es einfach gestartet. In der Taskleiste unten rechts und links neben der Uhr erscheint dann ein grünes Symbol mit einem „H“. Dieses repräsentiert Ihr Skript. Wenn Sie den Mauszeiger etwas länger über dem Symbol platzieren, sehen Sie auch den Dateinamen des Skripts und können somit verschiedene Skripte auseinander halten.

Skripte erstellen

Um ein Autohotkeyskript zu erstellen, benötigen Sie einen Texteditor. Zur Not reicht der in Windows mitgelieferte Editor (kein MS-Word) aus, komfortabler wird es beispielsweise mit PSPad, welches die Unterstützung für Autohotkey gleich mit eingebaut hat. PsPad ist auf deutsch erhältlich und — wie fast alle Texteditoren — kostenlos.

Ein Autohotkey-Skript besteht, einfach gesagt, aus einer Sammlung von Anweisungen. Eine Anweisung wiederum besteht aus dem Auslöser, also dem Text, der geschrieben wird oder einer Tastenkombination und dem Ereignis, welches eintreten soll, wenn der Auslöser ausgeführt wird. Auslöser stehen immer links, gefolgt vom Ereignis. Zur Verdeutlichung mal eine Grafik:

Nachdem Sie die Voraussetzungen erfüllt haben, gehts jetzt los. Im folgenden erkläre ich Ihnen, was Textersetzungen sind, wie Sie Tasten belegen und wie Sie erweitere Funktionen nutzen können.

Textersetzungen

Eine schöne Sache sind Textersetzungen. Sie kennen das vielleicht schon aus Word. Wenn Sie dort beispielsweise „mfg“ schreiben, wandelt Word diese Zeichen automatisch in die Wörter „Mit freundlichen Grüßen“ um. Allerdings ist die Funktion in Word natürlich nur auf Word selbst beschränkt. Mit Autohotkey geht das aber auch in anderen Programmen. Folgendes Beispiel zeigt, wie die Anweisung in Autohotkey aussehen muss:

::sgdh::Sehr geehrte Damen und Herren,

Was macht diese Zeile? Die ersten beiden Zeichen geben an, dass es sich um eine Textersetzung handelt, die ausgelöst wird, wenn die folgenden vier Zeichen gefolgt von einem Leerzeichen oder der [Enter]-Taste eingegeben werden. Die nächsten beiden Doppelpunkte trennen immer den Auslöser vom Ereignis ab. Nach diesen Doppelpunkten folgt also die Anweisung. Bei Textersetzungen kann der Text einfach so hingeschrieben werden, wenn er auf eine Zeile passt.

Wenn Sie das Beispiel mit der Grafik oben vergleichen, fällt Ihnen vielleicht der Stern zwischen den beiden ersten Doppelpunkten auf? Wenn Sie den Stern zwischen die ersten beiden Doppelpunkte schreiben, wird die Textersetzung direkt während des Tippens ausgeführt. Sie brauchen dann also kein Leerzeichen eingeben oder die [Enter]-Taste drücken.

Wenn Sie dann noch zusätzlich zwei Zeilenumbrüche einfügen möchten, muss die Zeile so aussehen:

::sgdh::Sehr geehrte Damen und Herren,{Enter 2}

Mit dem {Enter 2} teilen Sie Autohotkey mit, dass die Taste [Enter] zweimal gedrückt werden soll. Sie können so jede beliebige Taste simulieren. Ein Übersicht über die Tasten finden Sie in der offiziellen Autohotkeyhilfe.

Soll der Text über mehrere Zeilen gehen, dann muss der Text in runde Klammern gesetzt und die komplette Anweisung mit return abgeschlossen werden. Ein Beispiel:

::dvv::
(
Differenzvergütungsvereinbarung:
Wird der unterzeichnende Sachverständige aus dieser Sache vor Gericht bestellt, so trägt der Auftraggeber die Differenz zwischen der vom Gericht gezahlten Entschädigung und den hier vereinbarten Gebührensätzen.
)
return

Wenn Sie dieses Beispiel ausprobieren, wird der Text mit Zeilenumbrüchen eingefügt, nachdem Sie „dvv eingetippt haben und wieder das Leerzeichen oder die [Enter]-Taste gedrückt haben.

Tastenkombinationen benutzen

Mit Autohotkey können Sie Ereignissen auch Tastenkombinationen zuweisen. Sie können mit Tastenkombinationen zum Beispiel Programme starten, Texte ausgeben, Mausklicks simulieren und vieles mehr. Ich gehe in diesem Tutorial zunächst auf das Starten von Programmen ein und danach auf die Ausgabe von Texten.

Programme starten

Tastenkombiantionen setzen sich aus verschiedenen Sondertasten, in Verbindung mit Ziffern oder Buchstaben. Diese Sondertasten sind folgende und können miteinander kombiniert werden. Hinter die Tasten stehen in Klammern die Entsprechungen in Autohotkey, die wir gleich noch brauchen:

^ = Strg
+ = Umschalt
# = Win
! = Alt

Ich zeige mal ein Beispiel mit dem Gutachten-Manager, der mit der Tastenkombination [Strg + G] gestartet werden soll: Die Anweisung dazu sieht so aus:

^g::Run, C:\Programme\Gutachten-Manager\Gutachten-Manager.exe

Da es sich diesmal nicht um eine Textersetzung handelt, brauchen wir die zwei Doppelpunkte auch nicht. Das erste Zeichen (^) steht für die [Strg]-Taste und das „g“ für die Taste [G]. Dann folgt wieder das Ereignis. In diesem Falle möchten wir den Gutachten-Manager starten. Dazu benutzen wir den „Run“-Befehl. Den Pfad zum Programm schreiben wir einfach dahinter. In unserem Beispiel ist das der Pfad zum Gutachten-Manager.

Sie können mit einem Tastendruck auch mehrere Programme starten. Dazu schreiben Sie einfach einen zweiten „Run“-Befehl unter den ersten. Ich zeige das mal an einem Beispiel:

^g::
    Run, C:\Programme\Gutachten-Manager\Gutachten-Manager.exe
    Run, C:\Programme\FixFoto\FixFoto.exe
return

Jetzt wird zuerst FixFoto aufgerufen und danach der Gutachten-Manager. Auch hier wird der Block mit den Anweisungen wieder mit return abgeschlossen.

Text ausgeben

Sie können mit Tastenkombinationen natürlich auch Text ausgeben. Dazu benötigen Sie den „SendInput“-Befehl. Angenommen, Sie möchten den Text „Einen Ortstermin mit den Parteien und deren Vertretern werde ich schnellstmöglich vereinbaren und Sie darüber informieren.“ mit der Tastenkombination [Win + O] ausgeben. Dann sähe unser Beispiel so aus:

#o::SendInput, Einen Ortstermin mit den Parteien und deren Vertretern werde ich schnellstmöglich vereinbaren und Sie darüber informieren.

Variable Textausgaben

Eine weitere, spannende Möglichkeit ist es, Eingabeforumlare zu verwenden, falls der Textbaustein ein oder mehrere variable Texte enthält. Ich zeige Ihnen das an einem Beispiel, in dem ein paar verschiedene Daten eingetragen werden müssen. Zunächst der komplette Code, danach folgt eine Erläuterung, was der Code macht und dann gehe ich auf jede Zeile einzeln ein:

#d::
InputBox, Datum1, Datum des Schreibens,,,250,100,
InputBox, Datum2, Auftragsdatum,,,250,100,
InputBox, Datum3, Eingangsdatum,,,250,100
InputBox, Datum4, Datum des Beweisbeschlusses,,,250,100
InputBox, Akte, 	Gerichtsakte,,,250,100
SendInput, Mit dem Schreiben vom %Datum1% wurde ich am %Datum2%, bei mir eingegangen am %Datum3%, beauftragt, ein Sachverständigengutachten nach Maßgabe des Beweisbeschlusses vom %Datum4% ein schriftliches Gutachten zu den Fragen aus der Gerichtsakte %Akte% zu erstatten. Die Gerichtsakten waren diesem Schreiben beigefügt.

Wenn Sie die Tastenkombination [Win + D] drücken, erscheint ein Eingabefeld, in das Sie ein Datum eingeben. Nachdem Sie dieses bestätigt haben, erscheinen nacheinander vier weitere Eingabefelder, in die Sie die geforderten Informationen eingeben. Wenn diese Angaben vollständig sind, wird der komplette Text ausgegeben.

Nun die Erklärung der einzelnen Zeilen:

#d::

Das Ereignis wird mit der Tastenkombination [Win + D] ausgelöst.

InputBox, Datum1, Datum des Schreibens,,,250,100,

Stellvertretend für die Zeilen 2-6 hier die erste Zeile. Der Befehl „InputBox“ erzeugt eine Eingabemaske. „Datum1“ ist in diesem Fall die Variable, die Sie in die Maske eingeben und die weiter unten im Text eingesetzt wird. „Datum des Schreibens“ ist die Bezeichnung der Eingabemaske, die auch direkt in selbiger steht. So können Sie immer sehen, welche Eingabe erwartet wird. Die Zahlen 250 und 100 definieren die Größe der Eingabemaske. In unserem Fall ist sie 250px breit und 100px hoch.

SendInput, Mit dem Schreiben vom %Datum1% wurde ich am %Datum2%, bei mir eingegangen am %Datum3%, beauftragt, ein Sachverständigengutachten nach Maßgabe des Beweisbeschlusses vom %Datum4% ein schriftliches Gutachten zu den Fragen aus der Gerichtsakte %Akte% zu erstatten. Die Gerichtsakten waren diesem Schreiben beigefügt.

Mit dem „SendInput„-Befehl wird nun der Text zusammen mit den Variablen ausgegeben. Der Name der Variablen, die Sie weiter oben schon bei „InputBox“ definiert haben, wird im Text immer zwischen zwei Prozentzeichen gesetzt. Damit weiß Autohotkey, dass jetzt eine Variable und kein fest vorgegebener Text ausgegeben werden muss.

Wenn Sie dieses Beispiel ausprobieren, werden Sie recht schnell dahinterkommen, wie es funktioniert und können es entsprechend erweitern.

Tipps

Zum Schluss noch einige Tipps, die das Arbeiten mit Autohotkey erleichtern.

Skript automatisch aktualisieren

Wenn Sie folgenden Code am Anfang Ihres Skriptes einfügen, reicht es nach einer Änderung des Skriptes aus, dieses zu speichern. Wenn das Skript bereits läuft, wird es automatisch aktualisiert:

SetTimer,UPDATEDSCRIPT,1000
UPDATEDSCRIPT:
FileGetAttrib,attribs,%A_ScriptFullPath%
IfInString,attribs,A
{
FileSetAttrib,-A,%A_ScriptFullPath%
SplashTextOn,,,Script wurde aktualisiert,
Sleep,500
Reload
}
Return

Feststelltaste blockieren

Wenn es Sie stört, dass sich die Feststelltaste unbeabsichtigt einschaltet und alle Buchstaben GROSS geschrieben werden, übernehmen Sie folgende Zeile in Ihr Skript. Damit wird die Feststelltaste blockiert, die Umschalttaste bleibt aber erhalten.

CapsLock::SetCapsLockState, AlwaysOff

Standard-Programmpfad

Möchten Sie Autohotkey dafür einsetzen, um Programme mit Tastenkürzeln zu starten, dann ist es hilfreich die Systemvariable %ProgramFiles% in den Programmpfaden zu benutzen. Diese stellt sicher, dass immer der in Windows eingestellte Standardinstallationspfad benutzt wird, in dem Programme installiert sind. Unter Windows XP ist dies in der Regel „C:\Programme“ und unter den 32-Bit-Versionen von Windows Vista und 7 „C:\Program Files“. Die variable wird beispielsweise so verwendet:

Run, %ProgramFiles%\FixFoto.exe

Autohotkeybefehle in bestimmten Programmen anwenden

Eine interessante Möglichkeit in Autohotkey ist es auch, die Tastenkombiantionen oder Textersetzungen nur in einzelnen Programmen anzuwenden. Damit können Sie theoretisch jedem Programm eigene Kürzel zuweisen. Um bestimmte Funktionen beispielsweise nur in FixFoto auszuführen, müssen diese in folgenden Code gekleidet werden:

IfWinExist, FixFoto
{
...
Ihre Befehle
...
}
Return

Anhand dieses Codes prüft Autohotkey, ob der Text, der hinter „IfWinExists,“ steht in der Titelzeile des momentan obenliegenen Programmfensters vorkommt und wenn ja, wird der enthaltene Code ausgeführt. Dieser Codechnipsel muss für jedes Programm einzeln angelegt werden.

Aktuelles Datum einfügen

Das aktuelle Datum (und die Uhrzeit) können Sie mit dieser Zeile und der Buchstabenfolge #dt in Ihre Dokumente einfügen:

::#dt::
	FormatTime,Datum,,dd.MM.yy - HH:mm:ss
	Send, %Datum% Uhr
Return

Wenn Sie die Zeit nicht benötigen, benutzen Sie einfach diesen Schnipsel:

::#dt::
	FormatTime,Datum,,dd.MM.yy
	Send, %Datum%
Return

Hilfreiche Links

Zum Schluss noch ein paar hilfreiche Links:

So, das war meine Einführung zu Autohotkey. Ich werde in Zukunft in unregelmäßigen Abständen immer mal wieder ein paar Tipps dazu veröffentlichen. Falls Sie eine Frage haben, schreiben Sie einfach einen Kommentar oder eine E-Mail.


Leo
16. Mai 2011 um 00:03 Uhr

Hallo,
super Beitrag und tolle Tipps.
Der Tipp „Skript automatisch aktualisieren“ hat bei mir unter Win 7 32 bit super geklappt. Unter Win 7 64 bit führt er zu einer Endlosschleife, das Skript lädt sich immer wieder neu. Obwohl sonst alles gleich ist. Hast du eine Ahnung woran das liegt?

Michael Sonntag
16. Mai 2011 um 13:02 Uhr

Keine Ahnung. Funktioniert bei mir. Allerdings setze ich die 32-Bit-Version von Autohotkey ein, weil es mit der anderen mehrere komische Probleme gab.

28. Juni 2015 um 15:02 Uhr

Vielen Dank für diesen nützlichen Artikel. Diese Software ist wirklich hilfreich für Kfz Gutachter.