【发布时间】:2016-04-11 09:32:22
【问题描述】:
在我的 Access 表单中,用户可以在文本块中输入一些文本。通常此文本中有多个换行符(因此在文本框的属性中,输入功能更改为返回换行符而不是转到另一条记录)。
用户在表单中键入的文本将使用 VBA 查找和替换功能替换 Word 文档中的某些文本:
With objWord.Selection.Find
.Forward = True
.Wrap = 1
.ClearFormatting
.Execute2007 FindText:="{IndexText}", ReplaceWith:=NewIndexText, Replace:=2 'string is less than 255 so replace it
End With
这很好用,但是当用户在他们的文本中使用换行符时,我的 Word 文档中会出现这些奇怪的块:
如何在没有块的情况下正确显示换行符(也没有换行符)。
附:我还构建了用于处理超过 255 个字符的文本的代码,但只是没有发布代码,因为它对于这个问题是不必要的。
【问题讨论】:
-
谢谢@CindyMeister 发现我的字符串在 Access (Chr10) 中包含 Word 无法理解的 LineFeed。我在字符串中进行了替换,将所有 Chr(10) 设置为空字符串:
NewIndexText = Replace(NewIndexText, Chr(10), "") -
太棒了 :-) 我将信息放入“答案”中 :-)
标签: vba ms-access replace ms-word