【发布时间】:2014-11-07 16:42:28
【问题描述】:
我正在尝试替换一些文本,包括换行符,但是它不起作用。正在使用 Chr(10)、Chr(13) 和 Chr(10)+Chr(13) 组合。没有工作。有任何想法吗?代码如下:
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 系统吗? -
不起作用。文本文件是在 Windows 操作系统中手动创建的。
-
还有一个问题是,当我尝试用包含换行符的文本替换没有换行符的文本时,我会得到额外的“”
标签: vba text replace line-breaks