Date: prev next · Thread: first prev next last
2023 Archives by date, by thread · List index


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" <gerhard.weydt@t-online.de>
An users@de.libreoffice.org
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: 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
--
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

Context


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.