ActiveWorkbook.Save - adds quotation marks to the file content

S

SK

Far from an expert in this field, but I use a small Excel macro run trough a text file in order to correct some data.

In principle it is not more complicated than the string below :

Sub Tidy_up_my_file

Selection.Replace What:="BETWEEN PT", Replacement:="BETWEEN", LookAt:= _
xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=True

ActiveWorkbook.Save

ActiveWorkbook.Close True

End Sub

However, by some reason the command ActiveWorkbook.Save adds the double quotation marks on some lines in the txt-file (as line 4, 5 and 6 below).


:20:NONREF
:25:025121215508036
:28C:BETWEEN 129/1
":60F:C090701DKK4732,19"
":62F:C090701DKK4732,19"
":64:C090701DKK4732,19"
-}{5:}



Anyone having a clue what to do here? The question is in other words - how to do to avoid getting these quotation marks when saving the file?

Thanks in advance for your support.

/Steve
 
J

Joel

There is no reason to put text data into a workbook to change the file.
Excel often makes changes to the text when you don't want changes. Instead
open the file as text and make the changes.

Sub Gettext()

Const ForReading = 1, ForWriting = 2, ForAppending = 3
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0

Dim Data(8)

'default folder
Folder = "C:\temp"
ChDir (Folder)

Set fsread = CreateObject("Scripting.FileSystemObject")
FName = Application.GetOpenFilename("Text (*.txt),*.txt")

Set fread = fsread.GetFile(FName)
Set tsread = fread.OpenAsTextStream(ForReading, TristateUseDefault)

FName = Application.GetSaveAsFilename("Text (*.txt),*.txt")

fswrite.CreateTextFile WritePathName
Set fwrite = fswrite.GetFile(FName)

RowCount = 1
Do While tsread.atendofstream = False

InputLine = tsread.ReadLine
Outputline = Replace(InputLine, "BETWEEN PT", "BETWEEN")
tswrite.writeline Outputline

Loop
tsread.Close
fswrite.Close
End Sub
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top