Re: [de-users] Basic-Makro: Im Writer suchen und ersetzen nur bis zum Dateiende - BUG ?
Am 12.03.24 um 22:53 schrieb Gerhard Weydt: ... Das ist also nur eine eingeschränkte Lösung für Guidos Fragestellung; vielleicht genügt es ihm ja. Ja, dem genügt es vollkommen, auch weil er nur mit Writer arbeitet und dieses Makro nur auf Dateien losgelassen wird, die nur Unicode-Zeichen und keine Formatierungsinformationen enthalten. Viele Grüße Guido -- Liste abmelden mit E-Mail an: users+unsubscr...@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
Re: [de-users] Basic-Makro: Im Writer suchen und ersetzen nur bis zum Dateiende - BUG ?
Hallo Gerhard, ich danke Dir für Deine Überlegungen. Dass alles, was nicht Text ist, »verschwindet« - ist nachvollziehbar, da »VC.String« selbsterklärend ja sagt, dass hier Zeichenketten geliefert werden. Darauf hinzuweisen hatte ich im »Eifer des Gefechts« bezüglich CR/LF vergessen. Davon ausgehend, dass »WRITER [Ansicht] [Formatierungszeichen]« wirklich alle Formatierungszeichen anzeigt, kann es direkt eigentlich nichts mit den verschiedenen Zeilenwechseln der verschiedenen Betriebssysteme zu tun haben. So lange ich nur in WRITER agiere und nichts von außen nach WRITER importiere, kommen in WRITER im Wesentlichen nur CR / Carriage Return ( ¶ ) und HT / Horizontal Tab vor, nicht aber LF / Line Feed - trotz Windows-Betriebssystem - so meine bisherigen Erfahrungen. LFs habe ich bis jetzt immer nur dann in WRITER rein bekommen, wenn ich z.B. vom WEB etwas kopiert und in WRITER eingefügt habe (Beispiel: https://www.zdf.de/serien/reset-wie-weit-willst-du-gehen/konkurrenz-sechsteilige-drama-serie-100.html - Der Text zwischen »Die Handlung« und »Darsteller« ). WRITER behandelt dann diese importierten LFs bezüglich der Darstellung wie CRs. Von daher bleibt es für mich weiterhin rätselhaft/unerklärlich, dass »VC.String« zusätzliche LFs »herbei zaubert«. Grüße Hans-Werner ;-)) -- Originalnachricht -- Von "Gerhard Weydt" An users@de.libreoffice.org Datum 12.03.2024 22:53:43 Betreff Re: [de-users] Basic-Makro: Im Writer suchen und ersetzen nur bis zum Dateiende - BUG ? Hallo Hans-Werner, laut Thomas Krumbeins Makro-Buch ist CR der Zeilenwechsel für Mac, LF der für Linux und CR + LF der für Windows. Das erklärt vielleicht das von dir beschriebene Phänomen, ich weiß aber auch nicht wie. Ich habe dein Makro Guido mal ausprobiert für ein Dokument, das eine Tabelle und ein Bild enthielt: die Tabelle wurde zu einfachen Absätzen, das Bild verschwand; so hatte ich es auch ähnlich vermutet. Das ist also nur eine eingeschränkte Lösung für Guidos Fragestellung; vielleicht genügt es ihm ja. Viele Grüße Gerhard Am 12.03.2024 um 19:10 schrieb OoOHWHOoO: Hallo Guido, so wie's ausschaut, hängt »VC.String« an vorhandene CRs = Chr(13) automatisch ein LF = Chr(10) an. Das habe ich mit diesem BasicMakro (offensichtlich) herausgefunden: Sub VCString '--- WRITER-Datei via LibreOffice 'ABC¶ 'DEF¶ 'GHI¶ '¶ 'ABC¶ 'DEF¶ 'GHI¶ '¶ '¶ 'ABC¶ 'DEF¶ 'GHI¶ '¶ 'ABC¶ 'DEF¶ 'GHI¶ '--- WRITER-Datei via LibreOffice ' '--- E:\TMP\VCString.txt via Notepad++ 'EEFcrlf 'GHIcrlf 'crlf 'crlf 'ABCcrlf 'DEFcrlf 'GHIcrlf 'crlf 'ABCcrlf 'DEFcrlf 'GHIcrlf '--- E:\TMP\VCString.txt via Notepad++ Dim VC as Object ' View Cursor VC = ThisComponent.GetCurrentController.ViewCursor VC.gotoEnd(True) Dim PathFile as String Dim Number as Integer PathFile = "E:\TMP\VCString.txt" ' Anpassen ! Number = Freefile Open PathFile For Output As #Number Print #Number,VC.String Close #Number End Sub Hier das eigentliche BasicMakro für Deine Zwecke, bei dem erst mal »Chr(13) & Chr(10)« durch »Chr(13)« ersetzt wird vor der eigentlichen vom Benutzer optionierten Suche/Ersetzung: Sub Guido '--- WRITER-Datei 'ABC 'DEF 'GHI ' 'ABC 'DEF 'GHI ' ' 'ABC 'DEF 'GHI ' 'ABC 'DEF 'GHI '--- WRITER-Datei Dim VC as Object ' View Cursor Dim SS as String ' Search String Dim RS as String ' Replace String SS = "E" ' Search String RS = "●" ' Replace String VC = ThisComponent.GetCurrentController.ViewCursor VC.gotoEnd(True) VC.String = Replace(Replace(VC.String,Chr(13) & Chr(10),Chr(13)),SS,RS) End sub Für Hinweise auf Denkfehler oder falsche Annahmen meinerseits wäre ich dankbar. Falls meine Recherche stimmt, wäre es dann als BUG anzusehen, dass in »VC.String« an CRs jeweils ein LF anhängt wird ? Grüße Hans-Werner ;-)) -- Liste abmelden mit E-Mail an: users+unsubscr...@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+unsubscr...@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
Re: [de-users] Basic-Makro: Im Writer suchen und ersetzen nur bis zum Dateiende - BUG ?
Hallo Hans-Werner, laut Thomas Krumbeins Makro-Buch ist CR der Zeilenwechsel für Mac, LF der für Linux und CR + LF der für Windows. Das erklärt vielleicht das von dir beschriebene Phänomen, ich weiß aber auch nicht wie. Ich habe dein Makro Guido mal ausprobiert für ein Dokument, das eine Tabelle und ein Bild enthielt: die Tabelle wurde zu einfachen Absätzen, das Bild verschwand; so hatte ich es auch ähnlich vermutet. Das ist also nur eine eingeschränkte Lösung für Guidos Fragestellung; vielleicht genügt es ihm ja. Viele Grüße Gerhard Am 12.03.2024 um 19:10 schrieb OoOHWHOoO: Hallo Guido, so wie's ausschaut, hängt »VC.String« an vorhandene CRs = Chr(13) automatisch ein LF = Chr(10) an. Das habe ich mit diesem BasicMakro (offensichtlich) herausgefunden: Sub VCString '--- WRITER-Datei via LibreOffice 'ABC¶ 'DEF¶ 'GHI¶ '¶ 'ABC¶ 'DEF¶ 'GHI¶ '¶ '¶ 'ABC¶ 'DEF¶ 'GHI¶ '¶ 'ABC¶ 'DEF¶ 'GHI¶ '--- WRITER-Datei via LibreOffice ' '--- E:\TMP\VCString.txt via Notepad++ 'EEFcrlf 'GHIcrlf 'crlf 'crlf 'ABCcrlf 'DEFcrlf 'GHIcrlf 'crlf 'ABCcrlf 'DEFcrlf 'GHIcrlf '--- E:\TMP\VCString.txt via Notepad++ Dim VC as Object ' View Cursor VC = ThisComponent.GetCurrentController.ViewCursor VC.gotoEnd(True) Dim PathFile as String Dim Number as Integer PathFile = "E:\TMP\VCString.txt" ' Anpassen ! Number = Freefile Open PathFile For Output As #Number Print #Number,VC.String Close #Number End Sub Hier das eigentliche BasicMakro für Deine Zwecke, bei dem erst mal »Chr(13) & Chr(10)« durch »Chr(13)« ersetzt wird vor der eigentlichen vom Benutzer optionierten Suche/Ersetzung: Sub Guido '--- WRITER-Datei 'ABC 'DEF 'GHI ' 'ABC 'DEF 'GHI ' ' 'ABC 'DEF 'GHI ' 'ABC 'DEF 'GHI '--- WRITER-Datei Dim VC as Object ' View Cursor Dim SS as String ' Search String Dim RS as String ' Replace String SS = "E" ' Search String RS = "●" ' Replace String VC = ThisComponent.GetCurrentController.ViewCursor VC.gotoEnd(True) VC.String = Replace(Replace(VC.String,Chr(13) & Chr(10),Chr(13)),SS,RS) End sub Für Hinweise auf Denkfehler oder falsche Annahmen meinerseits wäre ich dankbar. Falls meine Recherche stimmt, wäre es dann als BUG anzusehen, dass in »VC.String« an CRs jeweils ein LF anhängt wird ? Grüße Hans-Werner ;-)) -- Liste abmelden mit E-Mail an: users+unsubscr...@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
[de-users] Basic-Makro: Im Writer suchen und ersetzen nur bis zum Dateiende - BUG ?
Hallo Guido, so wie's ausschaut, hängt »VC.String« an vorhandene CRs = Chr(13) automatisch ein LF = Chr(10) an. Das habe ich mit diesem BasicMakro (offensichtlich) herausgefunden: Sub VCString '--- WRITER-Datei via LibreOffice 'ABC¶ 'DEF¶ 'GHI¶ '¶ 'ABC¶ 'DEF¶ 'GHI¶ '¶ '¶ 'ABC¶ 'DEF¶ 'GHI¶ '¶ 'ABC¶ 'DEF¶ 'GHI¶ '--- WRITER-Datei via LibreOffice ' '--- E:\TMP\VCString.txt via Notepad++ 'EEFcrlf 'GHIcrlf 'crlf 'crlf 'ABCcrlf 'DEFcrlf 'GHIcrlf 'crlf 'ABCcrlf 'DEFcrlf 'GHIcrlf '--- E:\TMP\VCString.txt via Notepad++ Dim VC as Object ' View Cursor VC = ThisComponent.GetCurrentController.ViewCursor VC.gotoEnd(True) Dim PathFile as String Dim Number as Integer PathFile = "E:\TMP\VCString.txt" ' Anpassen ! Number = Freefile Open PathFile For Output As #Number Print #Number,VC.String Close #Number End Sub Hier das eigentliche BasicMakro für Deine Zwecke, bei dem erst mal »Chr(13) & Chr(10)« durch »Chr(13)« ersetzt wird vor der eigentlichen vom Benutzer optionierten Suche/Ersetzung: Sub Guido '--- WRITER-Datei 'ABC 'DEF 'GHI ' 'ABC 'DEF 'GHI ' ' 'ABC 'DEF 'GHI ' 'ABC 'DEF 'GHI '--- WRITER-Datei Dim VC as Object ' View Cursor Dim SS as String ' Search String Dim RS as String ' Replace String SS = "E" ' Search String RS = "●" ' Replace String VC = ThisComponent.GetCurrentController.ViewCursor VC.gotoEnd(True) VC.String = Replace(Replace(VC.String,Chr(13) & Chr(10),Chr(13)),SS,RS) End sub Für Hinweise auf Denkfehler oder falsche Annahmen meinerseits wäre ich dankbar. Falls meine Recherche stimmt, wäre es dann als BUG anzusehen, dass in »VC.String« an CRs jeweils ein LF anhängt wird ? Grüße Hans-Werner ;-)) -- Liste abmelden mit E-Mail an: users+unsubscr...@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