替换宏中的文本(Microsoft Word)
如果您正在编写宏,则可能需要对字符串变量进行大量工作。与字符串变量相关的常见操作是需要用另一个出现的字符替换一个出现的字符。例如,考虑以下字符串:
"This is my string of characters."
您可能要用另一个单词(例如“ that has”)替换“ of”。
以下通用函数可以做到这一点,甚至更多:
Function RepText(sIn As String, sFind As String, sRep As String) As String Dim x As Integer x = InStr(sIn, sFind) While x > 0 sIn = Left(sIn, x - 1) & sRep & Mid(sIn, x + Len(sFind)) x = InStr(sIn, sFind) Wend RepText = sIn End Function
作为如何使用该功能的示例,您可以执行以下操作:
sTemp = "This is my string of characters." sTemp = RepText(sTemp, "of", "that has")
执行此代码后,sTemp将包含字符串“这是我的包含字符的字符串”。
在我的例程中,我经常利用像RepText这样的函数来删除多余的空格(用单空格字符串替换两个空格字符串)
或使用制表符替换多个空格。当然,如何使用它完全取决于您。
那些只使用过最新版本VBA的用户可能会对为什么我使用RepText之类的功能而不是内置的Replace函数感到好奇。尽管Replace函数与RepText本质上具有相同的功能,但将其添加到VBA库中是一个相对较新的事件。如果您的宏在旧版Word中使用的可能性很小,则使用“替换”可能会导致宏崩溃的风险-在这些版本中将不可用。
注意:
如果您想知道如何使用此页面(或_WordTips_网站上的任何其他页面)中描述的宏,我准备了一个包含有用信息的特殊页面。
_WordTips_是您进行经济有效的Microsoft Word培训的来源。
(Microsoft Word是世界上最流行的文字处理软件。)本技巧(811)适用于Microsoft Word 97、2000、2002和2003。