Guten Morgen Gerhard,
ich danke Dir !
Habe das Makro gerade mal ausprobiert. Tolles Makro, weil es nicht nur
ein spezielles Zeichen einfügen, sondern eben auch ein oder mehrere
markierte Zeichen ( einer Selektion ) durch das spezielle Zeichen
ersetzten kann. Das hatte ich die ganze Zeit bei meinem ( von PITONYAK
abgeschriebenen ) Minimal-Makro leidlich vermisst, aber zu mehr hatten
meine Makro-Kenntnisse für dieses spezielle Problem leider nicht
gereicht :-((
Grüße
Hans-Werner ;-))
------ Originalnachricht ------
Von "Gerhard Weydt" <[email protected]>
An [email protected]
Datum 28.11.2023 23:31:40
Betreff Re: [de-users] LO 7.6.3.2 und ALT 16
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: [email protected]
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
--
Liste abmelden mit E-Mail an: [email protected]
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