【发布时间】:2018-08-24 23:49:38
【问题描述】:
我有一个 Word 表,我在其中应用了一个用逗号和空格替换段落标记的例程。但是,在这样做的过程中,现在出现了一些文本,例如“..., There...”,我的客户希望尽可能地将大写字母替换为小写字母。
所以,我编写了一些从上一个例程中调用的辅助代码,如下所示:
Sub LowerCaseAfterComma()
With Selection.Find
.ClearFormatting
.Text = ", ([A-Z])"
.Forward = True
.Wrap = wdFindStop
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = True
.MatchSoundsLike = False
.MatchAllWordForms = False
.Execute
While .Found
Selection.Range.Case = wdLowerCase
Selection.Collapse Direction:=wdCollapseEnd
.Execute
Wend
End With
End Sub
虽然这会识别表中大写字符的实例并相应地替换它们,但代码会在文档中查找表之外的所有其他实例,我不希望代码这样做。我已经尝试在 Word 中将 Range 对象用于我要编辑的表格,但在所需的语法方面没有成功。
注意。我在确保编辑保留在特定表内时遇到问题。在我希望编辑的表格之前可能有不同数量的表格
ActiveDocument.Tables() 指定表的编号似乎不起作用。
我确信我做的一些基本上是错误的,代码只需要一点修补。不过,我只是一个新手开发者学习。
【问题讨论】: