从文本文件中删除不需要的数据

时间:2015-09-11 12:55:13

标签: excel vba text

我有一个从应用程序导出的大文本文件,每行有三个不需要的零。需要将文本文件导入另一个应用程序,并且零会导致问题。

基本上每行需要删除三个零。这些零始终位于相同的位置(从左侧开始计算时,字符数相同),但位置位于中间位置。我尝试了各种各样的事情,比如将文件导入excel,删除零然后导出为文本文件,但导出的文本文件始终存在格式问题。

有人可以提出解决方案或指出我正确的方向吗?

3 个答案:

答案 0 :(得分:2)

这样的事情? (很快就完成了)

Sub replaceInTx()
    Dim inFile As String, outFile As String
    Dim curLine As String

    inFile = "x:\Documents\test.txt"
    outFile = inFile & ".new.txt"

    Open inFile For Input As #1
    Open outFile For Output As #2

    Do Until EOF(1)
        Line Input #1, curLine
        Print #2, Replace(curLine, "000", "", 6, 1, vbTextCompare)
    Loop
    Close #1
    Close #2
End Sub

或者,你可以使用文本编辑器来实现块选择(我喜欢Notepad2,小巧,快速和便携)

答案 1 :(得分:1)

我看到你经常使用excel。 将文本文件导入excel时是否使用导入功能并将数据推送到单独的单元格中? 如果单元格是数字,则可以执行以下操作:

=LEFT(TEXT(G5,"#"),LEN(TEXT(G5,"#"))-3)

如果单元格是文本:

=LEFT(G5,LEN(G5)-3)

G5是数据行/字段所在的单元格。

答案 2 :(得分:1)

curLine = Left(curLine, 104) 

这将占用前104个字符