Hallo Hans-Werner, *,
ich habe dafür auch ein Makro gemacht, aber das funktioniert auch in Texten in Tabellen oder in
Shapes. Da der Code dafür natürlich länger ist, habe ich ein allgemeines Makro und pro Zeichen ein
ganz kurzes, das dieses aufruft:
sub insertSpecial (chara as integer)
dim vc as object, curSel as object, tc as object, cursel1 as object, null as object
dim cellText as object
curSel = ThisComponent.CurrentSelection
if curSel.count > 1 then
msgbox "Bitte nur eine einfach Selektion",,"Einfügen Sonderzeichen"
exit sub
end if
if curSel.supportsService("com.sun.star.drawing.Shapes") then
curSel1 = curSel.getByindex(0)
if curSel1.supportsService("com.sun.star.drawing.TextShape") or _
curSel1.supportsService("com.sun.star.drawing.Text") then
tc = curSel1.createTextCursor
tc.goToEnd(False)
cursel1.insertString(tc,CHR(chara), FALSE)
ThisComponent.CurrentController.select(null)
ThisComponent.CurrentController.select(cursel1)
tc.goToEnd(False)
end if
elseif curSel.supportsService("com.sun.star.text.TextRanges") then
if isEmpty(curSel(0).TextTable) then 'keine Tabelle
vc = ThisComponent.CurrentController.getViewCursor
vc.setString(CHR(chara))
Vc.collapseToEnd
else
vc = ThisComponent.CurrentController.getViewCursor
cellText = curSel(0).cell.text
cellText.insertString(vc, CHR(chara), FALSE)
end if
else
msgbox "Diese Situation (dieser Objekttyp) ist bisher nicht programmiert.",,"Einfügen
Sonderzeichen"
end if
end sub
sub insertSpecialPointerRight 'mit Alt+Umschalt+R verknüpft
insertSpecial (9658)
end sub
Ob das schon optimal ist, weiß ich nicht, mir reicht's. Ich gehe von der Selektion aus, vielleicht
ist es mit dem View-Cursor noch etwas knapper zu formulieren.
Gruß
Gerhard
Am 28.11.2023 um 17:38 schrieb OoOHWHOoO:
Sub F2_Guillemet_RECHTS
Dim oVC As Object
oVC = ThisComponent.CurrentController.getViewCursor()
oVC.getText.insertString(oVC.getStart(),Chr(187),False)
End Sub
-- Liste abmelden mit E-Mail an: users+unsubscribe@de.libreoffice.org
Probleme? https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.