【发布时间】:2015-06-10 07:27:39
【问题描述】:
我正在从 Excel (2013) 生成一个 CSV 文件,如下所示:
.SaveAs Filename:= _
filePath & MyFileName, _
FileFormat:=xlCSV, _
Local:=True, _
这很好,但在最后一行我也得到了分号:
994085;None ApS.;2;G; 12 ;31-12-2015; 40 ; - ;Operational TB ;
如何删除最后一个 ;在那个文件里?
我看到它在字符串中很容易。我不确定我是否可以将整个文件放入字符串中。它大约是 6-700K 个字符。无论我实施什么,它都必须非常快
任何想法表示赞赏!
【问题讨论】:
-
一次性打开文件并读入
MyData/Array。见Open the text file in memory -
@SiddharthRout 谢谢,但有时文件可以得到 2-3M 个字符。难道没有一种快速的方法来只获取最后一行吗?
-
在上面的代码中
strData(ubound(strData))会给你最后一行 -
不,我不是这个意思。在该代码中,在
strData() = Split(MyData, vbCrLf)行之后,键入msgbox strData(ubound(strData))。你得到了什么?如果不是,,则将上面的行替换为Msgbox strData(ubound(strData)-1)。在这两种情况下你会得到什么? -
问题的最初原因可能是在最后一行的末尾有一个包含空字符串的单元格。如果您删除它(以编程方式或手动方式,您可以删除最后一个
;