https://bugs.documentfoundation.org/show_bug.cgi?id=99650
Bug ID: 99650
Summary: Control line endings with print statement
Product: LibreOffice
Version: unspecified
Hardware: All
OS: All
Status: UNCONFIRMED
Severity: normal
Priority: medium
Component: BASIC
Assignee: [email protected]
Reporter: [email protected]
I have a Basic macro which writes the contents of a spreadsheet into a text
file. This macro was developed on a LO installed on Windows. Now I switched to
Linux and have a problem with the line endings in the generated file.
The file must have Windows line endings (\r\n or chr(13)+chr(10)), because it
is used in other programs which insist on these line endings.
I tried a couple of approaches to save the \r\n line endings on a Linux
installation:
--8<---
sub ExportAreaToFile
' This prints the range "Sheet1.A1:C3" with two different methods into two
different text files.
dim oSheet as object
dim datarangeAddress as object
dim sCell as string
dim sTab as string
dim sLF as string
dim i, j as long
' ALTERNATIVE B:
dim result as string
sTab = chr(9)
sLF = chr(13) + chr(10)
' Open file descriptors
iNumA = FreeFile
iNumB = FreeFile
Open "output_A.txt" for Output as #iNumA
Open "output_B.txt" for Output as #iNumB
' Get range
oSheet = ThisComponent.Sheets.getByName("Sheet1")
datarangeAddress = oSheet.getCellRangeByName("A1:C3").RangeAddress()
' Loop over our range
for j = datarangeAddress.StartRow to datarangeAddress.EndRow
for i = datarangeAddress.StartColumn to datarangeAddress.EndColumn
sCell = oSheet.getCellByPosition(i, j).string
' ALTERNATIVE A:
print #iNumA, sCell; sTab;
' ALTERNATIVE B:
result = result + sCell + sTab
next i
' ALTERNATIVE A:
print #iNumA, sLF
' ALTERNATIVE B:
result = result + sLF
next j
' ALTERNATIVE B:
print #iNumB, result
close #iNumA
close #iNumB
--8<---
Both alternatives do not put \r\n in the output files, despite explicitly
adding these characters with print #iNumA, sLF or result = result + sLF.
See also http://en.libreofficeforum.org/node/13243, where I asked how I can
control the line endings.
Stephan
--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs