Hier noch ein Beispiel für eine kleine Spielerei mit der neuen Variable:
Befehlsname: in Anführung
Skript:
Sub Main HeardWord "leere", "Anführungszeichen" SendKeys ListVar1 SendKeys "{Right}" End Sub
_______________________________________
Dragon Professional 16 auf Windows 10 Pro und Windows 11 SpeechMike Premium (LFH3500); Office 2019 Pro + Office 365 (monatliches Abo) HP ZBook Fury 17 G8 - i7-11800H - 24 MB SmartCache - 32 GB RAM - 1 TB SSD
Der nachfolgende Befehl dient dazu, den im Anschluss (innerhalb des Befehls ohne Pause) diktierten Ausdruck, und nur diesen, fett zu setzen. Zunächst wird dabei noch abgefragt, ob ein führendes Leerzeichen erforderlich ist. Denn ansonsten wird dieses von Dragon leider nicht automatisch je nach Kontext gesetzt, wie das bei normalem Diktat der Fall wäre. Die Credits für die Abfrage gehen an Rüdiger. Die Umsetzung des Befehls ist nicht die schnellste – meines Erachtens aber im Workflow gleichwohl etwas effektiver als die nachträglichen Schnellformatierungsbefehle von Dragon à la „fett XYZ". Das gleiche Spiel lässt sich natürlich mit weiteren Formatierungen spielen.
Befehlsname: in fetten Lettern
Zitat Sub Main SendKeys "+{Left}^c{Right}",1 If CStr(Asc(Clipboard)) 0 And Clipboard "(" Then SendKeys " " SendKeys "^+F" SendKeys ListVar1 SendKeys "^+F" End Sub
ich hätte gern den entsprechenden Befehl mit Zitatzeichen. Aber das Einfügen des Wortes ‚Zitatzeichen‘ im Skript von Rüdiger unter Beitrag 1 funktioniert nicht. Wie heißt denn dieses Wort dann in der Skriptsprache? Das Skript von Meinhard funktioniert auch für kursive Ausdrücke prächtig. Allerdings muss ich vor dem Befehl eine etwas längere Pause machen als üblich.
Viele Grüße
Hans Löhr
DPI 15 auf Windows 10 Professional (64-bit) SpeechMike Premium. Intel i7 Core 4x2.67 GHz, 6 GB RAM
was meinen Sie denn mit „Zitatzeichen“? – Das Wort ist in meinem Vokabular nicht enthalten. Meinen Sie vielleicht die Zeichen »«? Die heißen „Zitatanfang“ bzw. „Zitatende“. Die müssten Sie aber in mein Skript von vorhin in die entsprechenden Zeilen statt des Fett-Befehls einsetzen, da es sich eben um unterschiedliche Zeichen handelt und ein Befehl zur Erzeugung leerer entsprechender Zeichen anders als bei dem Skript im Beitrag 1 von Rüdiger in Dragon nicht vorhanden ist.
Verehrter Herr Löhr, da haben Sie mich erwischt – SendKeys funktioniert wohl nicht mit so hoch nummerierten ASCII-Zeichen. Man muss dann auf SendDragonKeys zurückgreifen oder gar auf SendSystemKeys. Das ist leider noch etwas langsamer - daher am besten nach dem Befehl zum Senden von ListVar1 noch ein ",1" einfügen, damit Dragon die Ausführung abwartet.
Bei mir funktioniert das wie folgt, wenn auch relativ lahm:
Zitat
Sub Main SendKeys "+{Left}^c{Right}",1 If CStr(Asc(Clipboard)) 0 And Clipboard "(" Then SendKeys " " SendDragonKeys "»" SendKeys ListVar1,1 SendDragonKeys "«" End Sub
Wenn Sie den Befehl nur im fließenden Text und nicht am Zeilenanfang oder nach einer geöffneten Klammer verwenden wollen, könnten Sie die anfängliche Abfrage zur Beschleunigung auch weglassen bzw. durch die harte Vorgabe einer Leertaste vor dem ersten Zitatzeichen ersetzen.
besten Dank für das Skript. Damit das Leerzeichen nach dem Zitatzeichen am Anfang des Textes entfällt, habe ich Ihr Skript minimal modifiziert:
Sub Main SendKeys "+{Left}^c{Right}",1 If CStr(Asc(Clipboard)) 0 And Clipboard "(" Then SendKeys"" SendDragonKeys " »" SendKeys ListVar1,1 SendDragonKeys "«" End Sub
Allerdings ist es mir nicht gelungen, das Leerzeichen zu überlisten, das sich einschleicht, wenn ich am Zeilenanfang mit einem Zitat beginnen will. Doch das fällt gegenüber dem Nutzen Ihres Scripts nicht weiter ins Gewicht.
Noch einen schönen Abend!
Hans Löhr
DPI 15 auf Windows 10 Professional (64-bit) SpeechMike Premium. Intel i7 Core 4x2.67 GHz, 6 GB RAM
Die Modifikation verstehe ich nicht. Bei mir verursacht mein Skript keine ungewollten Leerzeichen innerhalb der Zitatzeichen. Ich kann auch nicht erkennen, wieso sich durch die Modifikation eine Änderung ergeben sollte. Wenn es nur darum geht, vor dem Zitatzeichen ein Leerzeichen hart einzufügen, so tut dass die Änderung. Dann ist aber die vorangestellte Abfrage, die gerade den Zeilenanfang betrifft, überflüssig.
hier das Diktat ein und desselben Dialogs einmal mit Ihrem, von mir modifizierten Skript (Befehl: Zitatformat ), einmal mit Ihrem Originalskript (Befehl: Meinhardzitat ) und einmal mit den dragoneigenen Befehlen ‚Zitatanfang' und 'Zitatende':
»wo bist du gewesen?« Fragte er sie. Und sie antwortete: »ich war beim Einkaufen.« (Zitatformat) 1.1
»wo bist du gewesen?« Fragte er sie. Und sie antwortete:»ich war beim Einkaufen.« (Meinhardzitat) 1.2
»Wo bist du gewesen?« Fragte er sie. Und sie antwortete: »Ich war beim Einkaufen.« (Zitatanfang / Zitatende) 1.3
------------------------------------------
Sie fragte ihn: »und was hast du die ganze Zeit gemacht?« Er antwortete ihr: »ich habe mit meiner Modelleisenbahn gespielt.« (Zitatformat) 2.1
Sie fragte ihn:»und was hast du die ganze Zeit gemacht?« Er antwortete ihr:»ich habe mit meiner Modelleisenbahn gespielt.« (Meinhardzitat) (2.2)
Sie fragte ihn: »Und was hast du die ganze Zeit gemacht?« Er antwortete ihr: »Ich habe mit meiner Modelleisenbahn gespielt.« (Zitatanfang / Zitatende) 2.3
---------------------------------------------
»und warum hast du nicht deine Hemden gebügelt?« Darauf entgegnete er: »weil das deine Mutter machen soll!« (Zitatformat) 3.1
»und warum hast du nicht deine Hemden gebügelt?« Darauf entgegnete er:»weil das deine Mutter machen soll!« (Meinhardzitat) 3.2
»Und warum hast du nicht deine Hemden gebügelt?« Darauf entgegnete er: »Weil das deine Mutter machen soll!« (Zitatanfang / Zitatende) 3.3
------------------------------------------------
Ergebnis bei meiner Hardware und Softwarekonfiguration:
1. Das Leerzeichen nach dem Zitatzeichen am Anfang des Textes ist nicht mehr aufgetaucht, auch wenn ich Ihr Originalskript mit dem Befehl ‚Meinhardzitat‘ verwendet habe. Dafür fehlt jetzt auch das Leerzeichen nach dem Doppelpunkt vor Beginn eines Zitats.
2. Bei meiner „Modifikation“ Ihres Skripts mit dem Befehl ‚Formatzitat‘ entsteht ein unerwünschtes Leerzeichen am Zeilenanfang, wenn ich mit einem Zitat beginne. Dafür erscheint es korrekterweise nach einem Doppelpunkt vor dem Anfangszitatzeichen.
3. In beiden Fällen wird nach den Zitatzeichen mit Kleinschreibung begonnen.
4. Mit den dragoneigenen Befehlen ‚Zitatanfang‘ und ‚Zitatende‘ läuft alles korrekt.
So schön die Idee ist, mit einem Skriptbefehl nachfolgende Wörter zum Beispiel ‚fett‘ oder ‚kursiv‘ zu formatieren (siehe Ihr Beitrag #3), so schwierig gestaltet sich die Umsetzung bei den Zitatzeichen.
Noch einmal vielen Dank für Ihre Ideen und Skripte!
Hans Löhr
p.s. Wem es ein Anliegen ist, der kann ‚fragte‘ durch ‚frug‘ ersetzen. Dragon kennt beide Vergangenheitsformen.
DPI 15 auf Windows 10 Professional (64-bit) SpeechMike Premium. Intel i7 Core 4x2.67 GHz, 6 GB RAM
Herr Löhr, bei mir funktioniert meine Variante nach wie vor, auch mit dem Leerzeichen nach dem Doppelpunkt. Richtig ist allerdings, dass die kontextabhängige Großschreibung (hier nach dem Doppelpunkt) nicht übernommen wird – ist ja auch kein Wunder, weil es sich aus der Sicht von Dragon bei dem Diktat nicht um Text, sondern um einen Befehl handelt.
Mit viel Mühe und unter Inkaufnahme einer weiteren Verlangsamung der Umsetzung ließe sich das vielleicht auch noch hinbekommen (mit einem kontextabhängigen „Schreib-das-groß-Befehl“), aber letztlich: Am besten arbeitet man mit Dragon so, wie die Programmierer es vorgesehen haben.
Ja, Meinhard, so machen wir es. Immerhin sind wir beide um eine Erfahrung reicher. Nachdem Ihre Scripts mit den Formatierungen ‚fett‘ etc. so gut funktionieren, war ich eben versucht, es auch mit den Zitatzeichen zu probieren. Aber die tanzen mal wieder aus der Reihe.
Vielen Dank für Ihre Bemühungen!
Hans Löhr
DPI 15 auf Windows 10 Professional (64-bit) SpeechMike Premium. Intel i7 Core 4x2.67 GHz, 6 GB RAM
Wenn man die Diskussionen um das Thema verfolgt, die im übrigen schon einmal bei einem ähnlichen Thema in der Vergangenheit in gleicher Weise hier erörtert worden sind, kann man schon einen wahren Respekt davor bekommen (zumindest ich), mit welcher Treffsicherheit Dragon die automatisierte Behandlung der Leerstellen im Prozess der Textformatierung handhabt – zumindest, und weitgehend, in unterstützen Anwendungen; wobei anzumerken ist, dass dies sicher einer der Punkte ist, die dem unbedarften Anwender nicht so ins Auge fallen, weil sie von einer menschlichen Schreibkraft quasi im Vorbeigehen und ohne jede weitere Anweisung erledigt werden.
_______________________________________
Dragon Professional 16 auf Windows 10 Pro und Windows 11 SpeechMike Premium (LFH3500); Office 2019 Pro + Office 365 (monatliches Abo) HP ZBook Fury 17 G8 - i7-11800H - 24 MB SmartCache - 32 GB RAM - 1 TB SSD