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
'AAAAABBBBBCCCCC¶
'DDDDDEEEEEFFFFF¶
'GGGGGHHHHHIIIII¶
'¶
'AAAAABBBBBCCCCC¶
'DDDDDEEEEEFFFFF¶
'GGGGGHHHHHIIIII¶
'¶
'¶
'AAAAABBBBBCCCCC¶
'DDDDDEEEEEFFFFF¶
'GGGGGHHHHHIIIII¶
'¶
'AAAAABBBBBCCCCC¶
'DDDDDEEEEEFFFFF¶
'GGGGGHHHHHIIIII¶
'--------------- WRITER-Datei via LibreOffice
'
'------------------- E:\TMP\VCString.txt via Notepad++
'EEFFFFFcrlf
'GGGGGHHHHHIIIIIcrlf
'crlf
'crlf
'AAAAABBBBBCCCCCcrlf
'DDDDDEEEEEFFFFFcrlf
'GGGGGHHHHHIIIIIcrlf
'crlf
'AAAAABBBBBCCCCCcrlf
'DDDDDEEEEEFFFFFcrlf
'GGGGGHHHHHIIIIIcrlf
'------------------- 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
'AAAAABBBBBCCCCC
'DDDDDEEEEEFFFFF
'GGGGGHHHHHIIIII
'
'AAAAABBBBBCCCCC
'DDDDDEEEEEFFFFF
'GGGGGHHHHHIIIII
'
'
'AAAAABBBBBCCCCC
'DDDDDEEEEEFFFFF
'GGGGGHHHHHIIIII
'
'AAAAABBBBBCCCCC
'DDDDDEEEEEFFFFF
'GGGGGHHHHHIIIII
'--------------- 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

Antwort per Email an