Seite 1 von 1
Tastenkomb. für "unbekanntes Wort aufnehmen" gesuc
Verfasst: Do, 19.05.2005 12:08
von calito
Hallo,
da die rechtschreibprüfung ja nicht so viele worte kennt, habe ich mich inzwischen damit abgefunden, viele wörter manuell in mein eigenes Benutzerwörterbuch aufzunehmen.
Aber das ist mühsam! normales vorgehen: wort ist rot unterkringelt - mit cursor drüber fahren - rechte maustaste - aufnehmen - entsprechendes Wörterbuch auswählen - fertig.
eine Tastenkombination währe natürlich viel cooler, aber diese Befehlsfolge ist ja eigentlich kein menüeintrag, daher habe ich das bisher nicht geschafft, makro ging auch nicht.
weiss jemand rat?
grus, carl
Verfasst: So, 29.05.2005 20:22
von suavito
Ich verwende auch - nach aufmerksamem Durchlesen, um keine fehlerhaften Wörter ins WB zu schreiben - die Möglichkeit, alle Wörter gleichzeitig aufzunehmen.
Leider hat diese Funktion einen Nachteil: Sie nimmt nur ins Standard-Wörterbuch auf.
Ich habe sie beim Literaturverzeichnis einer umfangreichen Arbeit ausgeführt, weil ich bei den vielen Namen nicht immer wieder Fehlermeldungen haben wollte, aber diese Namen gehören natürlich nur ins speziell für diese Arbeit eingerichtete Wörterbuch.
Gibt es schon eine verbesserte Version dieses Befehls bzw. ein Makro, was das leistet?
Verfasst: Di, 01.11.2005 20:39
von migas
Gibt es eine entsprechende Funktion in OpenOffice 2.0? Ich jedenfalls habe nichts gefunden.
und vielleicht ein Makro
Verfasst: Di, 01.11.2005 21:28
von skraszewski
Mit einem Makro geht das. Ich hab es irgendwo im Netz gefonden:
Code: Alles auswählen
Sub add2dic
' sichtbares Dokument (es ist besser eines da)
oDok = StarDesktop.getCurrentComponent()
' sichtbaren cursor
oViewCursor = oDok.getCurrentController().getViewCursor()
' textcursor an stelle des sichtbaren cursors
oCur = oViewCursor.getText().createTextCursorByRange(oViewCursor)
' wenn nur Einfügemarkierung
if oCur.IsCollapsed then
' Wort unter dem Cursor mit TC markieren
if NOT oCur.isStartOfWord() then
oCur.gotoStartofWord(FALSE)
endif
' Wortanfang bis Ende markieren
oCur.gotoEndofWord(TRUE)
' den Inhalt des TC
sWort = oCur.getString
' Ausgewählter Text
else
sWort = oCur.getString
end if
if Len(sWort) = 0 then
exit sub
end if
' wir haben ein Wort
' nun zweiter Teil: Wörterbuch Service und hinein damit
' service
oWBListe = createUnoService ("com.sun.star.linguistic2.DictionaryList")
' Wörterbuch (WB)
' Name des Standards: standard.dic
oWB = oWBListe.getDictionaryByName("standard.dic")
' ermitteltes Wort zum WB
' FALSE: kein negatives Wort
' "": Ersetzungstext (bei neg. Worten)
' msgbox "Worte im WB: " & oWB.count
oWB.add(sWort, FALSE, "")
' msgbox "Worte im WB: " & oWB.count
End Sub
Diesem Makro kannst du dann eine beliebige unbesetzte Tastenkombination zuordnen.
Grüße
skraszewski[/code]
Verfasst: Mi, 02.11.2005 00:34
von migas
Hey super, es klappt!!
Danke für die prompte Antwort!

Das Ganze lässt sich übrigens auch leicht ins Menü einbauen.
Nachtrag: Dieses Skript arbeitet nur für einzelne Wörter. Tastenbelegung zB F4, man setzt den Cursor auf ein Wort, welches dann per Tastendruck ins Benutzerwb aufgenommen werden kann.
Verfasst: Di, 17.01.2006 14:51
von RolloM
Das Makro funktioniert hier nicht.
Im Einzelschrittmodus erhalte ich in der zweiten Zeile des Macros
oViewCursor = oDok.getCurrentController().getViewCursor()
eine Fehlermeldung, wonach eine Eigenschaft oder Methode nicht gefunden worden sei.
Woran das liegen mag?
Gruss R.
Nachtrag: habs eben rausgefunden. Writer neu starten (wohl inklusive Windows-Schnellstarter). Danach funktionierts. Danke ebenfalls für den Hinweis auf das Makro.