Hello all,
I have a TXT file where I have to replace all CR to LF.
Is it posible to use some code in an Office application to change this txt file?
Thanks in advance.
![]() |
Patch reliability is unclear. Unless you have an immediate, pressing need to install a specific patch, don't do it. |
SIGN IN | Not a member? | REGISTER | PLUS MEMBERSHIP |
Home » Forums » AskWoody support » Productivity software by function » Visual Basic for Applications » change CR to LF (vba 97)
Here is a general VBA routine to do so. It can be run from Word, Excel or Access, or incorporated in a VB6 application. For testing purposes, the code will create a new file; test thorougly that the output is correct. When satisfied, you can uncomment two lines near the end (indicated in the code) to make the code replace the original file.
Sub Cr2Lf(strFilename As String)
Dim intIn As Integer
Dim intOut As Integer
Dim bytChar As Byte
On Error GoTo ErrHandler
intIn = FreeFile
Open strFilename For Binary Access Read As #intIn
intOut = FreeFile
Open strFilename & “2” For Binary Access Write As #intOut
Do While Not EOF(intIn)
Get #intIn, , bytChar
If bytChar = 13 Then bytChar = 10
Put #intOut, , bytChar
Loop
Close #intOut
Close #intIn
‘ Uncomment the following lines after testing
‘Kill strFilename
‘Name strFilename & “2” As strFilename
ExitHandler:
On Error Resume Next
Close #intOut
Close #intIn
Exit Sub
ErrHandler:
MsgBox Err.Description, vbExclamation
Resume ExitHandler
End Sub
Use as follows:
Cr2Lf “C:TestTextfile.txt”
Word can’t deal properly with ^10. You might be lucky if you immediately save in *.txt format again, but usually Word will replace ^10 (or ^13^10 = CrLf pairs) with ^13.
Probably the other methods mentioned are safer.
BTW: In Word2002/2003, there is an option when you save as text that allows you to end lines with ^13^10, ^13, ^10, or ^10^13.
In Word97/2000, there was a file MSTXTCNV.INI, which allowed you to set a few options for how Word saved files in certain formats. But I don’t remember anything about end-of-line characters in text files.
Klaus
Word can’t deal properly with ^10. You might be lucky if you immediately save in *.txt format again, but usually Word will replace ^10 (or ^13^10 = CrLf pairs) with ^13.
Probably the other methods mentioned are safer.
BTW: In Word2002/2003, there is an option when you save as text that allows you to end lines with ^13^10, ^13, ^10, or ^10^13.
In Word97/2000, there was a file MSTXTCNV.INI, which allowed you to set a few options for how Word saved files in certain formats. But I don’t remember anything about end-of-line characters in text files.
Klaus
Here is a general VBA routine to do so. It can be run from Word, Excel or Access, or incorporated in a VB6 application. For testing purposes, the code will create a new file; test thorougly that the output is correct. When satisfied, you can uncomment two lines near the end (indicated in the code) to make the code replace the original file.
Sub Cr2Lf(strFilename As String)
Dim intIn As Integer
Dim intOut As Integer
Dim bytChar As Byte
On Error GoTo ErrHandler
intIn = FreeFile
Open strFilename For Binary Access Read As #intIn
intOut = FreeFile
Open strFilename & “2” For Binary Access Write As #intOut
Do While Not EOF(intIn)
Get #intIn, , bytChar
If bytChar = 13 Then bytChar = 10
Put #intOut, , bytChar
Loop
Close #intOut
Close #intIn
‘ Uncomment the following lines after testing
‘Kill strFilename
‘Name strFilename & “2” As strFilename
ExitHandler:
On Error Resume Next
Close #intOut
Close #intIn
Exit Sub
ErrHandler:
MsgBox Err.Description, vbExclamation
Resume ExitHandler
End Sub
Use as follows:
Cr2Lf “C:TestTextfile.txt”
Donations from Plus members keep this site going. You can identify the people who support AskWoody by the Plus badge on their avatars.
AskWoody Plus members not only get access to all of the contents of this site -- including Susan Bradley's frequently updated Patch Watch listing -- they also receive weekly AskWoody Plus Newsletters (formerly Windows Secrets Newsletter) and AskWoody Plus Alerts, emails when there are important breaking developments.
Welcome to our unique respite from the madness.
It's easy to post questions about Windows 11, Windows 10, Win8.1, Win7, Surface, Office, or browse through our Forums. Post anonymously or register for greater privileges. Keep it civil, please: Decorous Lounge rules strictly enforced. Questions? Contact Customer Support.
Want to Advertise in the free newsletter? How about a gift subscription in honor of a birthday? Send an email to sb@askwoody.com to ask how.
Mastodon profile for DefConPatch
Mastodon profile for AskWoody
Home • About • FAQ • Posts & Privacy • Forums • My Account
Register • Free Newsletter • Plus Membership • Gift Certificates • MS-DEFCON Alerts
Copyright ©2004-2025 by AskWoody Tech LLC. All Rights Reserved.
Notifications