Antworten / Aufrufe | Themen mit dem Stichwort autotexte | |
---|---|---|
![]() |
0 Antworten 7740 Aufrufe |
Skript zum Einfügen von Autotext Begonnen von OCtopus
04. Oktober 2009, 12:08:48 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() |
5 Antworten 6885 Aufrufe |
Windows Mail - Rechtschreibung Begonnen von esceswa
03. September 2008, 09:51:45 Kann mir jemand sagen, ob in der Rechtschreibung für Windows Mail kontrolliert werden sollte, das ein Satz mit einem Großbuchstaben anfangen soll (aus der der Word-Rechtschreibung kenne ich das so, dass man das aktivieren kann). Habe nirgendwo eine Einstellungsmöglichkeit gefunden. Ist denn denn Rechtschreibkorrektur Bestandteil von Windows-Mail oder ist diese zentral für Vista zuständig? |
http://www.autohotkey.com/download/
Ihr kopiert das Skript in eine Datei mit der Endung "ahk". Eine fertige Datei "Makros.ahk" ist angehängt. Wenn Autohotkey installiert ist, muß das Skript nur doppelgeklickt werden. Es kann auch automatisch gestartet werden, wenn Ihr das Skript (oder eine Verknüpfung) in den Autostart-Ordner legt.
[code]
/*
Der Autotext kann in jeder Textdatei mit folgendem Format enthalten sein:
[Autotext]
n=nicht
mfg=Mit freundlichen Grüßen^a^aMax Meier
mvH=Mit vorzüglicher Hochachtung^a^a~MM~
hav=Hochachtungsvoll^a^a~HH~
MM=Max Meier
HH=Hans^tHuber
In dieser Datei können folgende Besonderheiten verwendet werden (s. Beispiele oben):
^a = Absatz
^t = Tabulator
~xx~ = Verweis auf einen anderen Autotext-Eintrag
Die Datei kann in Zeile 26 des Skripts eingetragen werden (voreingestellt: "C:\Zwi\Makros.txt").
Verwendung:
Ihr schreibt in den Editor die Kurzbezeichnung des Autotexteintrags (z. B. "mfg").
Das Skript liest mit <Alt-F3> diese Kurzbezeichnung aus und schreibt an diese Stelle
den Autotext. Wenn der entsprechende Autotext nicht vorhanden ist bleibt die Kurzbezeichnung (markiert) stehen.
*/
; Fügt Makros aus Makros.txt vor der aktuellen Cursorposition ein.
; ShortCut: <Alt+F3>
~!F3::
; Als <MakroDat> kann hier kann jeder andere Dateiname in jedem anderen Ordner verwendet werden:
MakroDat := "C:\Zwi\Makros.txt"
; Markiert die Kurzbezeichnung:
IniErg := PreSelection2Makro(MakroDat)
; Fügt jetzt die Ersetzung ein.
SendInput, %IniErg%
return
;******************************************************************************
; Ersetzt einen <EString> durch einen Makrostring aus <MakroDat>:
Ersetzung(EString, MakroDat)
{
; Ersetzt den ermittelten String.
; Holt die Ersetzung:
IniRead, IniErg, %MakroDat%, Autotext, %EString%, %A_Space%
; Ersetzt alle Strings zwischen Tilden mit weiteren Ersetzungsstrings.
LOOP ; Sucht alle Vorkommen von "~"
{
StringGetPos, Stelle1, IniErg,~
IF Stelle1<0
Break
StringGetPos, Stelle2, IniErg,~, L2
Abfrage := SubStr(IniErg, Stelle1+2, Stelle2-Stelle1-1)
IniRead, TildeErg, %MakroDat%, Autotext, %Abfrage%, %A_Space%
StringReplace, IniErg, IniErg, ~%Abfrage%~ , %TildeErg%, All
}
; Ersetzt Absatzzeichen (^a) etc. mit AHK-typischen Befehlen.
StringReplace, IniErg, IniErg,^a,`n, All
StringReplace, IniErg, IniErg,^t,{TAB}, All
Return IniErg
}
;******************************************************************************
; Ermittelt das letzte Wort vor der aktuellen Cursorposition:
PreSelection()
{
; Sichert den Inhalt des Clipboards und leert das Clipboard.
AlterClipboardInhalt := ClipboardAll ; Sichern des Inhaltes von Clipboard
Clipboard =
; 1. Teil: Ermittelt den zu ersetzenden String.
Länge := 0
SonderZ := ".,?,;"
LOOP ; Ermittelt das maßgebliche ganz Wort vor der aktuellen Cursoposition
{
Send, +{LEFT} ; Ein makiertes Zeichen nach links
Auswahl := Selection(true) ; ermittelt die aktuelle Markierung
StringLeft, Links, Auswahl, 1 ; Das äußerste linke Zeichen der Markierung
CharNr := ASC(Links)
IsSonderZ := false
IF Links in ä,ö,ü,Ä,Ö,Ü,ß
IsSonderZ := true
; Steigt aus bei Leerzeichen, Sonderzeichen, Absatzzeichen etc.
; Es gelten nur Ziffern, Buchstaben und Umlaute:
IF NOT ((CharNr>=48 AND CharNr<=57) OR (CharNr>=65 AND CharNr<=90) OR (CharNr>=97 AND CharNr<=122) OR IsSonderZ)
GoTo Zurück
; Wenn es nicht mehr weiter nach Links geht (Dateianfang)
IF StrLen(Auswahl)=Länge
GoTo Fertig
StringLen, Länge, Auswahl
}
Zurück:
; Geht wieder eine Cursorposition nach Rechts:
Send, +{RIGHT}
Fertig:
; Ermittelt die maßgebliche jetzt aktuelle Markierung:
Auswahl := Selection(true)
; Zurücksichern des alten Clipboardinhalts:
ClipBoard := AlterClipboardInhalt ; Alten Inhalt des Clipboards wiederherstellen
Return Auswahl
}
;******************************************************************************
; Kombination aus PreSelection() und Ersetzung()
PreSelection2Makro(MakroDat)
{
; Ermittelt den zu ersetzenden String:
Auswahl := PreSelection()
; Ersetzt den ermittelten String:
IniErg := Ersetzung(Auswahl, MakroDat)
Return IniErg
}
;******************************************************************************
; Ermittelt den aktuell markierten Text, die aktuell markierte Datei etc.:
Selection(OhneSichern = false, Warten = 5)
{
IF NOT OhneSichern
AlterClipboardInhalt := ClipboardAll ; Sichern des Inhaltes von Clipboard
Clipboard =
Send ^c ; Kopiert die Datei
ClipWait, %Warten% ; Warte auf neuen Inhalt im Clipboard. 5 wg. Netzlaufwerken, die ggf. langsamer sind.
RückG := ClipBoard ; Speichern des Namens zur weiteren Verarbeitung
IF NOT OhneSichern
ClipBoard := AlterClipboardInhalt ; Alten Inhalt des Clipboards wiederherstellen
Return RückG
}
[/code]