Writer Tools 1.0.1 findet keine Markierung

Das Textverarbeitungsprogramm

Moderator: Moderatoren

EGO
*******
Beiträge: 1197
Registriert: Fr, 30.10.2009 08:55

Writer Tools 1.0.1 findet keine Markierung

Beitrag von EGO »

Tach zusammen!

Mir macht gerade ein Problem mit der Ergänzung "Writer-Tools" zu schaffen: Sobald ich einen Text markiere, der nach einer Tabelle (egal ob unmittelbar oder eine Seite später) steht und die Option "Harte Formatierungen entfernen" wähle, dann kommt die Aufforderung "Bitte markieren Sie einen Text...".

Das ist irgendwie nicht normal, denn wenn kein Text markiert ist, kommt eigentlich das Kästchen "Sie haben nichts markiert, soll das komplette Dokument...". Und sobald ich die Tabelle lösche, geht alles, als ob nichts gewesen wäre. Hat jemand einen Tipp, was hier vor sich geht - und wie ich das umgehen kann?

Grübelnd grüßt EGO..

P.S. WT 1.0.1 OOo 3.2.0 Win7
Aktuell arbeite ich mit OO 4.1.13 unter Win10 Pro
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Writer Tools 1.0.1 findet keine Markierung

Beitrag von Stephan »

Hat jemand einen Tipp, was hier vor sich geht


ja, die besagte Meldung "Bitte markieren Sie einen Text..." kommt sobald im Makro IRGENDEIN Fehler auftritt und nicht wenn nur nichts markiert ist.

Im Konkreten tritt ein Fehler in der Code-Zeile:

Code: Alles auswählen

oTC3 = oAbs.text.createTextCursorByRange(oAbs.getStart())
auf.
Der Grund ist mir noch nicht klar. Ich werde dem Autor der Extension eine Email schreiben.


Gruß
Stephan
Toxitom
********
Beiträge: 3768
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Re: Writer Tools 1.0.1 findet keine Markierung

Beitrag von Toxitom »

Hey zusammen,

ja, nichts ist perfekt. Die Writer-Tools liegen derzeit "auf Eis" - aber eine Anpassung ist geplant ;-)

Sind noch ein paar andere "Kleinigkeiten" drin.

Tatsächlich funktioniert das Entfernen der harrten Formatierung derzeit nicht, wenn vor der Markierung (Cursorplazierung) sich eine (Text-) Tabelle befindet. Aktuell kann ich nur einen kleinen Fehlerpatch liefern:

Code: Alles auswählen

Sub WT_DELHarteFormatierungen
  dim oViewC as variant   'Viewcursor
  dim oAbsaetze as variant
  dim oAbs as variant
  dim oTC1 as variant, oTC2 as variant, oTC3 as variant, oTC4 as variant

  oDoc = thisComponent  
  REM Selektion auslesen
on Error goto Fehler  'falls kein ViewCursor existiert!
  oViewC = oDoc.currentController.getViewCursor
  if oViewC.isCollapsed() then   'nichts markiert
    n = msgbox("Sie haben nichts markiert - soll das komplette" & chr(13) & _
               "Dokument (Basistext) korrigiert werden?",4+32+256, "Keine Textmarkierung") 
    if NOT (n=6) then exit sub
        
    oAbsaetze = oDoc.text.createEnumeration
    Do while oAbsaetze.hasMoreElements
      WT_AbsatzZuruecksetzen(oAbsaetze.nextElement, oDoc)
    loop
  else
    otc1 = oViewC.getText.createTextCursorbyRange(oViewC.getStart())  'Anfang
    otc2 = oViewC.getText.createTextCursorbyRange(oViewC.getEnd())  'Ende
    oTC1.gotostartofParagraph(false)  'Start
    oTC2.gotoendofParagraph(false)   'Ende
    
    oAbsaetze = oViewC.gettext().createEnumeration

    Do while oAbsaetze.hasMoreElements
      oAbs = oAbsaetze.nextElement
      if oAbs.supportsService("com.sun.star.text.TextTable") then
        'Absatz ist eine Tabelle  - hier muss noch eine Routine ergänzt werden
      else
        oTC3 = oAbs.text.createTextCursorByRange(oAbs.getStart())
        oTC3.gotoRange(oTC1, true)
        if oTC3.isCollapsed then flag = true  'Anfang gefunden
        if flag then     'jetzt abarbeiten
          WT_AbsatzZuruecksetzen(oAbs, oDoc)
          'xray oAbs 
          oTC4 = oAbs.text.createTextCursorByRange(oAbs.getEnd())
          oTC4.gotoRange(oTC2, true)
          if oTC4.isCollapsed then exit do
        end if
      end if
    loop
  end if
  exit sub
fehler: 
  msgbox ("Bitte markieren Sie einen Text oder Textteil!", 16, "keine Markierung")  
End sub
Ersetzt den bisherigen Code durch den oben geposteten.

Zur Erläuterung: Auch eine Texttabelle ist intern ein "Absatz", dieser unterstützt aber nicht das "Text"-Objekt. Im alten Code kam es daher zu einem Fehler, dieser wurde "abgefangen" und die eher nichtssagende Schlussmeldung ausgegeben ;-)

Werde die Korrektur bei einer späteren Anpassung der Writer-Tools mit berücksichtigen.

Viele Grüße
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
EGO
*******
Beiträge: 1197
Registriert: Fr, 30.10.2009 08:55

Re: Writer Tools 1.0.1 findet keine Markierung

Beitrag von EGO »

Toxitom hat geschrieben:ja, nichts ist perfekt.
Es ist perfekt genug, um mir viel Arbeit abzunehmen. Bild schon alleine dafür :-).

Glücklich grüßt EGO..
Aktuell arbeite ich mit OO 4.1.13 unter Win10 Pro
Antworten