如何代码中设置word中的FIND的参数,使查找的范围为全部?(不是FORWARD,BACKWARD)(50分)

  • 主题发起人 主题发起人 bluefoam
  • 开始时间 开始时间
B

bluefoam

Unregistered / Unconfirmed
GUEST, unregistred user!
最近在做使用数据库自动生成WORD文档,对WORD模板中的预设的值进行替换,发现
DELPHI例程中的FIND,只能查找到正文中的文字,而页眉中的查不到。
当然,在WORD中直接Ctrl+F,查找的方式有“向上”“向下”“全部”,使用全部是可
以找到的。
现在我的问题是,在FIND.EXECUTE(*,*,*)的参数中,我只找到forward(true or
false) 对应“向上”“向下”,找不到对应于“全部”的这一参数。由于页眉部分需要
自动替换生成,必须首先能找到才行。望各位大侠指点。
另:我在WORD的VBA帮助中没找到这方面的答案(我对VB,VBA不熟悉),可能是自己
水平太菜 8)
 
VB中使用方法如下:
下例在活动文档中查找所有“hi”并将其替换为“hello”。
Set myRange = ActiveDocument.Content
myRange.Find.Execute FindText:="hi", ReplaceWith:="hello", Replace:=wdReplaceAll

delphi5.0中find.execute的定义和参数说明如下:
function Execute(var FindText: OleVariant; var MatchCase: OleVariant;
var MatchWholeWord: OleVariant; var MatchWildcards: OleVariant;
var MatchSoundsLike: OleVariant; var MatchAllWordForms: OleVariant;
var Forward: OleVariant; var Wrap: OleVariant; var Format: OleVariant;
var ReplaceWith: OleVariant; var Replace: OleVariant): WordBool; safecall;

FindText 1、要搜索的文字。用空字符串(“”),将只搜索格式。
指定相应的字符代码,可以搜索特殊的字符。例如,
“ ^p”相对于一个段落标记,而“ ^t”相对于制表符。
有关可用的特殊字符的列表,请参阅可进行查找和替换
操作的特殊字符与文档元素示例。
2、如果 MatchWildcards 为 True,则可以包含通配符,
以及其他高级搜索条件。例如,“ *(ing) ” 将查
找以“ing”结尾的所有单词。详细内容,请参阅通配符搜索示例。
3、要搜索符号字符,可键入一个“ ^ ”符号,一个零(0),然后是
符号字符的代码。例如,在 Windows 中,“ ^0151”对应于一个长
破折号
MatchCase 如果查找区分大小写,则本参数为 True。相应于“编辑”菜单
“查找并替换”对话框中的“区分大小写”复选框。
MatchWholeWord 如果只查找整个单词而不是单词的一部分,则本参数为 True。相
应于“编辑”菜单“查找并替换”对话框中的“全字匹配”复选框。
MatchWildcards 如果查找文字包含特殊的搜索操作符,则本参数为 True。相应于
“编辑”菜单“查找并替换”对话框中的“使用通配符”复选框。
MatchSoundsLike 如果查找包括与查找文字发音相近的单词,则本参数为 True。
相应于“编辑”菜单“查找并替换”对话框中的“同音”复选框。
MatchAllWordForms 如果查找文字的所有形式(例如,“ sit” 将包含“sitting”
和“sat”),则本参数为 True。相应于“编辑”菜单“查找并
替换”对话框中的“查找单词的各种形式”复选框。
Forward 如果向下(向文档尾部)搜索,则本参数为 True。
Wrap 如果从不是文档开头的地方开始搜索,并且达到文档尾部时
(如 Forward 设置为 False,则相反),本参数控制接下来的操作。
当在所选内容或范围中没有找到搜索文字时,本参数也控制接下来
的操作。可以是下列 WdFindWrap 常量之一:
常量 说明
wdFindAsk 在搜索完所选内容或者范围之后,Word 显示一条消息,询问是否搜
索文档的其他部分。
wdFindContinue 在到达搜索范围的开始或者结尾时,继续进行查找操作。
wdFindStop 在到达搜索范围的开始或者结尾时,停止进行查找操作。
Format 如果本参数为 True,则查找带格式的文本或者只查找格式
而不查找文本。
ReplaceWith 替换文字。要删除由 Find 参数指定的文字,可使用空字符串
(“”)。与 Find 参数相似,本参数也可以指定特殊的字符和
高级搜索条件。要指定一个图形对象或者其他非文本项作为替换
内容,可将这些项放到剪贴板上,然后将 ReplaceWith 指定为“ ^c”。
Replace 指定执行替换的次数:一次、所有或者不替换。可以是下列
WdReplace 常量之一:wdReplaceAll、wdReplaceNone 或 wdReplaceOne。
 
我用其他的方法解决了。
主要是范围问题。
如果对页眉的。RANGE。FIND()就可以了。
上面的这些,我原先就知道了,不过,为表示感谢,分数照给。 呵呵
 
后退
顶部