Bei Edgar auf Knowbrainer habe ich folgendes Skript "geklaut" und leicht modifiziert (eingedeutscht), mit dem man per Buchstabiertafel/-alphabet Abkürzungen oder sonstige Ausdrücke in Großbuchstaben buchstabieren kann. Welche Buchstabiertafel man verwendet (NATO, klassisches deutsches, postmodern wokes....), ist egal: Es wird immer der erste Buchstabe eines Wortes ausgegeben.
Leider muss ich irgend etwas falsch machen, was die Sonderregeln für Zahlwörter angeht, denn es werden keine Ziffern ausgegeben, sondern die Anfangsbuchstaben der Zahlwörter ("E" bei eins). Mein Drachen ist so konfiguriert, dass Zahlen bis 12 als Wörter ausgeschrieben werden. Hat jemand einen Tipp:
Sub Main Dim words() As String' dimension a string array Dim k As Integer Dim result As String
result = "" words = Split(ListVar1," ") For k = 0 To UBound(words) words(k) = UCase(words(k)) Next For k = 0 To UBound(words) If words(k) = "Leertaste" Or words(k) = "Leerzeichen" Or words(k) = "Leerschritt" Then words(k) = " " If words(k) = "." Or words(k) = "Punkt" Then words(k) = "." If words(k) = "Null" Then words(k) = "0" If words(k) = "Eins" Or words(k) = "Ein" Then words(k) = "1" If words(k) = "Zwei" Or words(k) = "Zwo" Then words(k) = "2" If words(k) = "Drei" Then words(k) = "3" If words(k) = "Vier" Then words(k) = "4" If words(k) = "Fünf" Then words(k) = "5" If words(k) = "Sechs" Or words(k) = "Sex" Then words(k) = "6" If words(k) = "Sieben" Then words(k) = "7" If words(k) = "Acht" Then words(k) = "8" If words(k) = "Neun" Then words(k) = "9" Next For k = 0 To UBound(words) result = result & UCase(Left(words(k), 1)) Next SendKeys result End Sub
Warum das alles? Die eingebauten "Schreib"-Befehle des Drachens sind anstrengend, weil sie in Version 15 standardmäßig Kleinbuchstaben ausgeben.
Hallo Meinhard, die Lösung ist einfach: UCase/words(k)) setzt das gesamte Wort in Großbuchstaben. Demzufolge muss auch abgefragt werden. z.B. VIER statt Vier Viele Grüße Pascal
DANKE! Da (1) ich die Semantik des Befehls nicht kannte und intuitiv von der Kapitalisierung nur des ersten Buchstabens ausgegangen war und (2) im englischen Original-Skript alles auf LCase gemünzt war, ist es mir nicht aufgefallen.
Wie zitierte mal ein amerikanischer Forist namens Chuck: "Assumption is the mother of all fuck-ups."