Helmut Leininger schrieb:
Hallo,

Ich habe keine Erfahrung mit Makros in LibreOffice. Zum einfügen von
bestimmten nationalen Sonderzeichen habe ich mit (mit Icons auf einer
Symbolleiste verknüpfte) Makros wie diesen:

Sub smitHatschekKlein
Dim doc as variant
Dim controller as variant
Dim textviewcursor as variant
doc = ThisComponent
controller = doc.getCurrentController()
textviewcursor = controller.getViewCursor()
Dim character as String
character = chr(clng("&H0161"))
textviewcursor.setString(character)
textviewcursor.goRight(1, false)
End Sub


Der obige Makro fügt ein s mit Hatschek (š) an die aktuelle Position
ein. Das funktioniert im Normnalfall, nicht aber wenn sich der Cursor
innerhalb einer Tabellenzelle befindet.

Woran kann das liegen?

Du kannst statt setString vom ViewCursor mit insertString auf dem Text arbeiten.

Sub smitHatschekKlein
Dim doc as variant
Dim controller as variant
Dim textviewcursor as variant
doc = ThisComponent
controller = doc.getCurrentController()
textviewcursor = controller.getViewCursor()
Dim character as String
character = chr(clng("&H0161"))
Dim otext as variant
If IsEmpty(textviewcursor.Cell) Then
        otext=doc.text
Else
        otext=textviewcursor.Cell.Text
End If
otext.insertString(textviewcursor, character,false)
End Sub

Mit freundlichen Grüßen
Regina

--
Informationen zum Abmelden: E-Mail an users+h...@de.libreoffice.org
Probleme? 
http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: http://listarchives.libreoffice.org/de/users/
Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert

Antwort per Email an