我想替换一些文本,包括换行符,但它不起作用。使用Chr(10),Chr(13)和Chr(10)+ Chr(13)组合。没有用。有任何想法吗?下面的代码:如何正确替换使用VBA的文本文件中的新行符号?
Sub Replacetext()
Dim MyFolder As String
Dim MyFile As String
Dim Fname As String
MyFolder = "D:\Excel"
MyFile = Dir(MyFolder & "\*.txt")
Do While MyFile <> ""
Fname = MyFolder & "\" & MyFile
Workbooks.OpenText Fname
Cells.Replace What:="a" & Chr(13) & "a", Replacement:="b" & Chr(13) & "b" _
SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False, lookat:=xlWhole
ActiveWorkbook.Close savechanges:=1
MyFile = Dir
Loop
End Sub
为什么不使用'vbCrLf'?这应该匹配dos格式文件上的新行。你的文本文件来自Unix系统吗? – Matt 2014-09-13 20:12:14
不起作用。文本文件是在Windows操作系统中手动创建的。 – Ascorpio 2014-09-13 20:18:02
还有,当我尝试替换文本没有换行符时,用包含换行符的文本我得到额外的“” – Ascorpio 2014-09-13 20:30:07