Sie sind vermutlich noch nicht im Forum angemeldet - Klicken Sie hier um sich kostenlos anzumelden Impressum 
Sie können sich hier anmelden
Dieses Thema hat 2 Antworten
und wurde 537 mal aufgerufen
 Skripte und Zusatzprogramme
Marius_ Offline



Beiträge: 1.280

20.10.2021 08:23
Buchstabier(alphabet)-Skript Zitat · Antworten

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.

https://www.knowbrainer.com/forums/forum...3&enterthread=y

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:

Das Skript heißt bei mir "Majuskeln <dictation>"

Hier der Code:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 

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.

__________________________________________________
Dragon Legal 16, Win 11 Pro, Microsoft 365 64-bit, SpeechMike Premium Air, i7-11700, 2,5 GHz, 64 GB RAM, 1TB SSD; + Dragon Legal 16 auf Windows 11 Pro unter Parallels Pro auf MacBook Air M2

P.Roch Offline



Beiträge: 1.266

20.10.2021 14:12
#2 RE: Buchstabier(alphabet)-Skript Zitat · Antworten

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

Marius_ Offline



Beiträge: 1.280

20.10.2021 19:29
#3 RE: Buchstabier(alphabet)-Skript Zitat · Antworten

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."

__________________________________________________
Dragon Legal 16, Win 11 Pro, Microsoft 365 64-bit, SpeechMike Premium Air, i7-11700, 2,5 GHz, 64 GB RAM, 1TB SSD; + Dragon Legal 16 auf Windows 11 Pro unter Parallels Pro auf MacBook Air M2

 Sprung  
Xobor Ein Kostenloses Forum | Einfach ein Forum erstellen
Datenschutz