Hi,
in einem Makro möchte ich Wörter trennen. Der angehängte Kode
funktioniert auch, allerdings wird die Einstellung
Optionen
Spracheinstellungen
Linuistik
Optionen
Minimale Wortlänge für Silbentrennung
nicht berücksichtigt. Egal welcher Wert eingestellt ist, das
vierbuchstabige Wort 'eine' wird getrennt. Die Einstellungen 'Zeichen
vor dem Zeilenumbruch' und 'Zeichen nach dem Zeilenumbruch' werden
dagegen befolgt. Wird ein Wert auf 3 gesetzt, wird das Wort 'eine'
nicht mehr getrennt. Auch in Dokumenten wird die Einstellung zur
Mindestlänge beachtet.
In der API-Dokumentation zum Interface XHyphenator steht zum Argument
aProperties
Parameter aProperties
provides property values to be used for this function call only. It
is usually empty in order to use the default values supplied with
the property set.
Habe ich irgend etwas übersehen? Was muss ich beachten, damit die
vorgegebene Mindestlänge von Wörtern bei der Silbentrennung
berücksichtigt wird?
Viele Grüße
Stephan Hennig
Option Explicit
Sub Main
Dim oHyphen As Object
Dim oLocale As New com.sun.star.lang.Locale
Dim emptyArgs() As New com.sun.star.beans.PropertyValue
Dim vReturn
Dim sWord, sHyphWord As String
Dim msg As String
oHyphen = createUnoService("com.sun.star.linguistic2.Hyphenator")
oLocale.Language = "de"
oLocale.Country = "DE"
sWord = "eine"
vReturn = oHyphen.createPossibleHyphens(sWord, oLocale, emptyArgs())
If IsNull(vReturn) Then
sHyphWord = "Null"
Else
sHyphWord = vReturn.getPossibleHyphens()
End If
msg = "Hyphenating " & sWord & CHR$(10) & _
"Result: " & sHyphWord & CHR$(10)
MsgBox msg, 0, "Hyphenate Words"
End Sub