比较文本时忽略智能引号(Microsoft Word)
Lee具有一个宏,该宏逐段比较两个文档。他需要一种方法来减少段落中智能引号的使用。换句话说,如果两个段落在每种方式上都是相似的(除了一个段落使用智能引号,而另一个不使用智能引号),Lee仍然希望考虑这些段落是等效的。
处理这种情况的最简单方法是简单地将所有智能报价替换为常规报价,然后进行比较。例如,假设您的宏逐步遍历文档,并将段落的文本分配给变量(例如sThisPar),则可以使用以下代码来摆脱文本中的智能引号:
sThisPar = RepText(sThisPar, Chr(145), "'") sThisPar = RepText(sThisPar, Chr(146), "'") sThisPar = RepText(sThisPar, Chr(147), Chr(34)) sThisPar = RepText(sThisPar, Chr(148), Chr(34))
这些行用它们的“普通”等效项替换了开,引号和撇号的智能版本。此代码依赖于称为RepText的函数,本技巧中未显示。该例程不执行任何操作,只是将一个文本的出现替换为另一文本。在某些版本的VBA中,您可以改用“替换”命令,该命令内置在该语言的这些版本中。
在使用它时,您可能还需要用其普通等效项替换其他特定于Word的字符。以下各行分别替换破折号,破折号和省略号。
sThisPar = RepText(sThisPar, Chr(150), "-") sThisPar = RepText(sThisPar, Chr(151), "--") sThisPar = RepText(sThisPar, Chr(133), "...")
替换完成后,您可以放心比较段落中的文本。
如果由于某种原因无法修改宏代码,则可能需要在运行宏之前简单地将文档中的智能引号替换为常规引号。打开文档,关闭自动智能引号(在“自动更正”对话框中),然后执行两次查找和替换操作,首先用引号替换每个引号(将引号放在“查找内容”和“替换为”框中)并第二,用撇号替换每个撇号。然后,您可以运行宏,并且比较应该更流畅。
注意:
如果您想知道如何使用此页面(或_WordTips_网站上的任何其他页面)中描述的宏,我准备了一个包含有用信息的特殊页面。
_WordTips_是您进行经济有效的Microsoft Word培训的来源。
(Microsoft Word是世界上最流行的文字处理软件。)本技巧(5411)适用于Microsoft Word 97、2000、2002和2003。您可以找到用于Word(Word 2007)的功能区界面的本技巧的一个版本。和更高版本)在这里: