geht er auch. Das Problem sind eben die Klammern, die SendKeys nicht behandeln kann, wohl aber SendDragonKeys, worauf Pascal richtigerweise hingewiesen hat.
Ohne Pascals Lösung zu kritisieren, gebe ich der anderen Methode dann doch den Vorzug, weil darin der String zunächst aufgebaut und dann mit einem Tastenbefehl eingefügt wird, anstelle von drei Einzelschritten.
Dann braucht man auch kein "true" (was bewirken soll, dass der nächste Befehl nicht vor dem ersten ausgeführt wird) oder etwa gar ein Wait. Mehrere SendKeys hintereinander sind nicht immer unproblematisch.
Gruß, Rüdiger
_______________________________________
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
Bei mir sieht das Skript Datum einfügen wesentlich einfacher aus, wenn dabei auch nicht eine Leerzeile, offene Klammer u. dergl. berücksichtigt wird:
Sub Main SendKeys Format(Now, "dd.mm.yyyy") End Sub
Das Skript Datum Vorvorgestern einfügen sieht beispielsweise aus wie folgt:
Sub Main SendKeys Format(Now -3, "dd.mm.yyyy") End Sub
Gestern oder vorgestern kann dann entsprechend eingestellt werden: Now -1 oder Now -2
Vielleicht nicht ganz so schick wie oben, hat sich bei mir aber bewährt und funktioniert soweit ich weiß in jeder Anwendung.
Mit freundlichem Gruß aus Hamburg Malte Rossbach Dragon legal individual 15.0 Windows 10 Prof. 64 bit, MS Office 2013, Intel Core i7 3770K, 16 GB RAM, Asus Xonar Soundkarte, Sennheiser MD 431 II; sowie Notebook, Core i5-6267U, 6 GB RAM, Windows 10 Home 64 bit, MS Office 2015, Sennheiser USB Headset PC 26. http://www.rechtsanwalt-rossbach.de
Werte Dragon-Profis, derzeit bastle ich an einem Befehl, das aktuelle Datum einzufügen. Soweit ist mir das auch bereits gut gelungen. Aber den automatischen Leerzeichenausgleich hätte ich auch gerne noch dazu, wie er hier wohl beschrieben war. Lieber einmal gescheit aufsetzen, als immer manuell hinterher sein zu müssen. Leider ist die Grafik im Eingangsbeitrag nicht mehr abrufbar, gut, ist schon ein paar Jahre her. Könnte mir aber evtl. noch jemand das Skript, in welcher Form auch immer, zur Verfügung stellen, sodass ich das für mich noch Fehlende in meinen Befehl ableiten könnte? Vielen Dank für Ihre Hilfestellung, Karlheinz Lang
DPI 15.3 auf Windows 10 Pro (64-bit), Intel Core i7-8565U, 16 GB RAM, Microsoft 365 Business, Logitech H555 Nackenbügel-USB-Headset bzw. Dragon Anywhere auf iPhone Mit Dragon seit V. 8 oder 9 unterwegs.
Sub Main SendKeys "+{Left}^c{Right}",1 If CStr(Asc(Clipboard)) <> 0 And Clipboard <> "(" And Clipboard <> "_" Then SendKeys " " SendKeys Format(Now, "dd.mm.yyyy") End Sub
Es funktioniert aber mit meiner aktuellen Version von Word nicht mehr, die Null wird nicht als Absatzmarke erkannt. 13 geht auch nicht. Vielleicht finden Sie oder jemand anderes ja heraus, was hier einzutragen wäre.
Bei mir (Word aus Office 365, Updatekanal "aktuelle Version") funktioniert das nun wunderbar. Ich habe aber noch interessehalber recherchiert. Ich bin auf diese Codes für Word gekommen:
Neuer Absatz: vbNewLine = vbCrLf = Chr(13) + Chr(10) oder auch nur chr(10) bzw. nur chr(13) Zeilenumbruch innerhalb eines Absatzes: vbVerticalTab = chr(11)
Vielleicht wäre für Sie ein Versuch mit der 10 wert.
DPI 15.3 auf Windows 10 Pro (64-bit), Intel Core i7-8565U, 16 GB RAM, Microsoft 365 Business, Logitech H555 Nackenbügel-USB-Headset bzw. Dragon Anywhere auf iPhone Mit Dragon seit V. 8 oder 9 unterwegs.
Danke für Ihre Mühe. Ihre Vorschläge funktionieren bei mir zwar nicht. Es scheint aber zumindest sporadisch zu funktionieren, wenn ich die Null als String in Anführungszeichen fasse.