Während Makroausführung Text markieren
Moderator: Moderatoren
Während Makroausführung Text markieren
Hallo!
Ich habe folgendes Problem: ich möchte ein Makro erstellen, dass mich während des Makroablaufs darauf hinweist, dass ich bestimmte Textpassagen markieren muss bzw. es zuläßt, dass ich diese Textpassagen dann auch markieren kann.
Nach der Markierung soll das Makro ganz normal weiter laufen.
Geht das überhaupt bzw. wie ist der Quellcode dafür?
Gruß
Jochen
OS: Windows 7 Professional (64 Bit)
LO: LibreOffice 3.3.3; OOO330m19 (Build:301); tag libreoffice-3.3.3.1
Ich habe folgendes Problem: ich möchte ein Makro erstellen, dass mich während des Makroablaufs darauf hinweist, dass ich bestimmte Textpassagen markieren muss bzw. es zuläßt, dass ich diese Textpassagen dann auch markieren kann.
Nach der Markierung soll das Makro ganz normal weiter laufen.
Geht das überhaupt bzw. wie ist der Quellcode dafür?
Gruß
Jochen
OS: Windows 7 Professional (64 Bit)
LO: LibreOffice 3.3.3; OOO330m19 (Build:301); tag libreoffice-3.3.3.1
Windows 7 Professional (64 Bit)
LibreOffice 3.3.3; OOO330m19 (Build:301); tag libreoffice-3.3.3.1
Firefox 5.0
LibreOffice 3.3.3; OOO330m19 (Build:301); tag libreoffice-3.3.3.1
Firefox 5.0
Re: Während Makroausführung Text markieren
Aloha
Simplere Lösungen als die dort genannten kenne ich zumindest nicht.
Das geht durchaus, z.B. über einen nicht ausgeführten, sondern nur sichtbar gemachten Dialog, etwas ähnliches wurde z.B. hier schonmal besprochen.uroveits hat geschrieben:Geht das überhaupt bzw. wie ist der Quellcode dafür?
Simplere Lösungen als die dort genannten kenne ich zumindest nicht.
Re: Während Makroausführung Text markieren
Hallo DPunch,
genau das habe ich gemeint - allerdings benötige ich dies für Writer, um mehrere Abschnitte zu markieren, damit diese im weiteren Verlauf des Makros durch die Anweisungen, die im Makro vorhanden sind, bearbeitet werden können.
Zwei Fragen:
1) Wie kann in Deinem Beispiel der Eintrag wieder beendet werden, damit das Makro weiterläuft? Oder ist dies in Deinem Beispiel gar nicht vorgesehen?
2) Hast Du auch eine Lösung für Writer?
Gruß
Jochen
genau das habe ich gemeint - allerdings benötige ich dies für Writer, um mehrere Abschnitte zu markieren, damit diese im weiteren Verlauf des Makros durch die Anweisungen, die im Makro vorhanden sind, bearbeitet werden können.
Zwei Fragen:
1) Wie kann in Deinem Beispiel der Eintrag wieder beendet werden, damit das Makro weiterläuft? Oder ist dies in Deinem Beispiel gar nicht vorgesehen?
2) Hast Du auch eine Lösung für Writer?
Gruß
Jochen
Windows 7 Professional (64 Bit)
LibreOffice 3.3.3; OOO330m19 (Build:301); tag libreoffice-3.3.3.1
Firefox 5.0
LibreOffice 3.3.3; OOO330m19 (Build:301); tag libreoffice-3.3.3.1
Firefox 5.0
Re: Während Makroausführung Text markieren
Aloha
Ohne zu wissen, was Du überhaupt anstellen willst, kann ich keine stichhaltigen Ratschläge geben.
Das ist da nicht vorgesehen, lässt sich aber problemlos einfügen.uroveits hat geschrieben:Wie kann in Deinem Beispiel der Eintrag wieder beendet werden, damit das Makro weiterläuft? Oder ist dies in Deinem Beispiel gar nicht vorgesehen?
Ohne zu wissen, was Du überhaupt anstellen willst, kann ich keine stichhaltigen Ratschläge geben.
Die ist nicht anders als in Calc - ich hab leider mein Kontingent für Dateianhänge voll, daher keine Beispieldatei.uroveits hat geschrieben:Hast Du auch eine Lösung für Writer?
Re: Während Makroausführung Text markieren
Hallo DPunch,
Nimm doch so lange einen Externen Filehoster, wie z.B. http://www.imagenetz.de/
Gruß
balu
Das hat nichts mit dir persönlich zu tun, das liegt an der Forensoftware. Hin und wieder kommt das mal vor.ich hab leider mein Kontingent für Dateianhänge voll
Nimm doch so lange einen Externen Filehoster, wie z.B. http://www.imagenetz.de/
Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.
wehr rächtschraipfähler findet khan si behalden
wehr rächtschraipfähler findet khan si behalden

Re: Während Makroausführung Text markieren
Aloha

Mit Filehostern ist das halt son Ding in Foren, die für solche Sachen einen extra Upload-Space haben, das wird desöfteren nicht gerne gesehen.
Aber wenn Du grünes Licht gibst, wird das schon passen
Beispieldatei
Ja, das war mir schon klar, das war auch keine schmollende Aussagebalu hat geschrieben:Das hat nichts mit dir persönlich zu tun, das liegt an der Forensoftware.

Mit Filehostern ist das halt son Ding in Foren, die für solche Sachen einen extra Upload-Space haben, das wird desöfteren nicht gerne gesehen.
Aber wenn Du grünes Licht gibst, wird das schon passen
Beispieldatei
Re: Während Makroausführung Text markieren
Hallo DPunch,
vielen Dank für Deine Beispieldatei. Ich habe jetzt gesehen, dass mein Wunsch prinzipiell umsetzbar ist. Das hätte ich nicht gedacht, dass dies funktioniert. Ich werde mich bei Gelegeheit mal hinsetzen und versuchen, ein passendes Makro für mich zu schreiben.
Ich habe bzgl. der Funktion „Suchen & Ersetzen“ in Writer folgende Beobachtung gemacht:
Wenn die Funktion „Suchen & Ersetzen“ bei einem markierten Text zweimal hintereinander ausgeführt wird, geht die Einstellung „Nur in Selektion“ verloren.
Dies bedeutet, dass das zweite Ausführen der Funktion „Suchen & Ersetzen“ die gewünschte Ersetzung nunmehr auf das gesamte Dokument anwendet und nicht mehr nur auf den markierten Text.
IMHO ist dies ein Bug. Was ist Deine/Eure Meinung?
Als Workaround habe ich mir gedacht, ein Makro zu erstellen, das es ermöglicht, zwei „Suchen & Ersetzen“-Vorgänge ablaufen zu lassen und zwischen den beiden „Suchen & Ersetzen“-Vorgängen die betreffenden Absätze wieder zu markieren. "Wieder" deswegen, die betreffende Absätze ja schon markiert gewesen waren und die Markierung nur vergessen wird.
Das Vorgehen (für die Beobachtung) habe ich weiter unten beschrieben.
Gruß
Jochen
Vorgehen:
1) Folgenden Text zweimal (!) in ein Writer-Dokument eingeben:
<Absatzmarke> = Steuerzeichen mit <return> erzeugt
Bitte das Zeichen "-" am Ende eines jeden Absatzes nicht vergessen.
LibreOffice ist eine leistungs-<Absatzmarke>
fähige Office-Suite, voll kompa-<Absatzmarke>
tibel mit den Programmen anderer großer Office-An-<Absatzmarke>
bieter, und für verbreitete Betriebs-<Absatzmarke>
systeme wie Windows, GNU/Linux 32-/64-Bit und Apple Mac OS X geeignet.
LibreOffice ist eine leistungs-<Absatzmarke>
fähige Office-Suite, voll kompa-<Absatzmarke>
tibel mit den Programmen anderer großer Office-An-<Absatzmarke>
bieter, und für verbreitete Betriebs-<Absatzmarke>
systeme wie Windows, GNU/Linux 32-/64-Bit und Apple Mac OS X geeignet.
2) Ersten „Abschnitt“, d.h. die fünf Zeilen (= Abschnitte) markieren
3) Menü „Bearbeiten“ → „Suchen & Ersetzen“
Bei „Suchen nach“ „-$“ eingeben
Bei „Mehr Optionen“ Haken bei „Regulärer Ausdruck“ setzen
Bemerkung: Haken bei „Nur in Selektion“ ist automatisch gesetzt
Button „Ersetze alle“ anklicken
4) Hinweisfenster „Suchbegriff 3 mal ersetzt“ erscheint.
Auf „OK“ klicken.
Maske „Suchen & Ersetzen“ stehen lassen (d.h. nicht schließen)
5) In Maske „Suchen & Ersetzen“ folgendes eingeben
Bei „Suchen nach“ „$“ eingeben
Bemerkung: Haken bei „Nur in Selektion“ ist nun ausgegraut
Button „Ersetze alle“ anklicken
Ergebnis:
Alle Absatzmarken des gesamten Dokumentes sind nun ersetzt.
vielen Dank für Deine Beispieldatei. Ich habe jetzt gesehen, dass mein Wunsch prinzipiell umsetzbar ist. Das hätte ich nicht gedacht, dass dies funktioniert. Ich werde mich bei Gelegeheit mal hinsetzen und versuchen, ein passendes Makro für mich zu schreiben.
Aber klar doch. Gerne schildere ich Dir, wie ich auf diese Frage gestoßen bin. Ich vermute, dass ein kleiner Bug in LO vorliegt (für OOo habe ich dies nicht getestet).Ohne zu wissen, was Du überhaupt anstellen willst, kann ich keine stichhaltigen Ratschläge geben.
Ich habe bzgl. der Funktion „Suchen & Ersetzen“ in Writer folgende Beobachtung gemacht:
Wenn die Funktion „Suchen & Ersetzen“ bei einem markierten Text zweimal hintereinander ausgeführt wird, geht die Einstellung „Nur in Selektion“ verloren.
Dies bedeutet, dass das zweite Ausführen der Funktion „Suchen & Ersetzen“ die gewünschte Ersetzung nunmehr auf das gesamte Dokument anwendet und nicht mehr nur auf den markierten Text.
IMHO ist dies ein Bug. Was ist Deine/Eure Meinung?
Als Workaround habe ich mir gedacht, ein Makro zu erstellen, das es ermöglicht, zwei „Suchen & Ersetzen“-Vorgänge ablaufen zu lassen und zwischen den beiden „Suchen & Ersetzen“-Vorgängen die betreffenden Absätze wieder zu markieren. "Wieder" deswegen, die betreffende Absätze ja schon markiert gewesen waren und die Markierung nur vergessen wird.
Das Vorgehen (für die Beobachtung) habe ich weiter unten beschrieben.
Gruß
Jochen
Vorgehen:
1) Folgenden Text zweimal (!) in ein Writer-Dokument eingeben:
<Absatzmarke> = Steuerzeichen mit <return> erzeugt
Bitte das Zeichen "-" am Ende eines jeden Absatzes nicht vergessen.
LibreOffice ist eine leistungs-<Absatzmarke>
fähige Office-Suite, voll kompa-<Absatzmarke>
tibel mit den Programmen anderer großer Office-An-<Absatzmarke>
bieter, und für verbreitete Betriebs-<Absatzmarke>
systeme wie Windows, GNU/Linux 32-/64-Bit und Apple Mac OS X geeignet.
LibreOffice ist eine leistungs-<Absatzmarke>
fähige Office-Suite, voll kompa-<Absatzmarke>
tibel mit den Programmen anderer großer Office-An-<Absatzmarke>
bieter, und für verbreitete Betriebs-<Absatzmarke>
systeme wie Windows, GNU/Linux 32-/64-Bit und Apple Mac OS X geeignet.
2) Ersten „Abschnitt“, d.h. die fünf Zeilen (= Abschnitte) markieren
3) Menü „Bearbeiten“ → „Suchen & Ersetzen“
Bei „Suchen nach“ „-$“ eingeben
Bei „Mehr Optionen“ Haken bei „Regulärer Ausdruck“ setzen
Bemerkung: Haken bei „Nur in Selektion“ ist automatisch gesetzt
Button „Ersetze alle“ anklicken
4) Hinweisfenster „Suchbegriff 3 mal ersetzt“ erscheint.
Auf „OK“ klicken.
Maske „Suchen & Ersetzen“ stehen lassen (d.h. nicht schließen)
5) In Maske „Suchen & Ersetzen“ folgendes eingeben
Bei „Suchen nach“ „$“ eingeben
Bemerkung: Haken bei „Nur in Selektion“ ist nun ausgegraut
Button „Ersetze alle“ anklicken
Ergebnis:
Alle Absatzmarken des gesamten Dokumentes sind nun ersetzt.
Windows 7 Professional (64 Bit)
LibreOffice 3.3.3; OOO330m19 (Build:301); tag libreoffice-3.3.3.1
Firefox 5.0
LibreOffice 3.3.3; OOO330m19 (Build:301); tag libreoffice-3.3.3.1
Firefox 5.0
Re: Während Makroausführung Text markieren
Hallo
....
Deine Beschreibung des Vorgehens ist etwas unvollständig - durch was werden -<return> ersetzt?
Gruß Karo
Nein, die "Selektion" besteht nach 'Suche alle' nur aus den gefundenen Textstellen ( beinhalten aber nicht die Absatzmarke ) , das sind in diesem Fall nur die -Zeichen vor der Absatzmarke - nach mehr hast du ja auch nicht gesucht.Ich habe bzgl. der Funktion „Suchen & Ersetzen“ in Writer folgende Beobachtung gemacht:
Wenn die Funktion „Suchen & Ersetzen“ bei einem markierten Text zweimal hintereinander ausgeführt wird, geht die Einstellung „Nur in Selektion“ verloren.
....
Deine Beschreibung des Vorgehens ist etwas unvollständig - durch was werden -<return> ersetzt?
Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Re: Während Makroausführung Text markieren
Aloha
Du kannst doch auch einfach aus der Suchen&Ersetzen-Maske heraus nochmal markieren.
Bzw. wenn Du ein Makro verwendest, kannst Du auch eine ganz simple Lösung ala
nutzen.
Ich verstehe Dein Problem, aber wofür brauchst Du denn da ein Makro?uroveits hat geschrieben:Als Workaround habe ich mir gedacht, ein Makro zu erstellen, das es ermöglicht, zwei „Suchen & Ersetzen“-Vorgänge ablaufen zu lassen und zwischen den beiden „Suchen & Ersetzen“-Vorgängen die betreffenden Absätze wieder zu markieren.
Du kannst doch auch einfach aus der Suchen&Ersetzen-Maske heraus nochmal markieren.
Bzw. wenn Du ein Makro verwendest, kannst Du auch eine ganz simple Lösung ala
Code: Alles auswählen
oDoc = thisComponent
oSel = oDoc.CurrentSelection(0)
oSel.String = Replace(oSel.String,"-" & Chr(13) & Chr(10),"")