| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3072 人关注过本帖
标题:[求助]用VFP命令如何查找word2003文档的页眉、页脚中的字符串,并替换成其它 ...
只看楼主 加入收藏
schtg
Rank: 12Rank: 12Rank: 12
来 自:https://t.me/pump_upp
等 级:贵宾
威 望:67
帖 子:1542
专家分:3003
注 册:2012-2-29
结帖率:93.1%
收藏
已结贴  问题点数:10 回复次数:11 
[求助]用VFP命令如何查找word2003文档的页眉、页脚中的字符串,并替换成其它字符串
请问:用VFP命令如何查找word2003文档的页眉、页脚中的字符串,并替换成其它字符串,比如将页脚中"AAA",替换成"BBB",请给出命令,谢谢!
搜索更多相关主题的帖子: VFP 命令 文档 字符串 替换 
2018-07-29 21:14
fyyylyl
Rank: 8Rank: 8
等 级:贵宾
威 望:17
帖 子:301
专家分:764
注 册:2006-5-22
收藏
得分:2 
oWord =CREATEOBJECT("Word.APPLICATION")
With oWord
    oWord.Documents.open(WORD文档)
    .Documents(1).Sections(1).Headers(1).Range.Text ="我的页眉"
    .Documents(1).Sections(1).Footers(1).Range.Text ="我的页脚"
    .Visible =.t.
ENDWITH

2018-07-30 11:18
schtg
Rank: 12Rank: 12Rank: 12
来 自:https://t.me/pump_upp
等 级:贵宾
威 望:67
帖 子:1542
专家分:3003
注 册:2012-2-29
收藏
得分:0 
回复 2楼 fyyylyl
谢谢你的帮助,这是添加页眉、页脚的,我需要的是将页眉、页脚中的字符串替换,谢谢!
2018-07-30 12:38
fyyylyl
Rank: 8Rank: 8
等 级:贵宾
威 望:17
帖 子:301
专家分:764
注 册:2006-5-22
收藏
得分:0 
你试一下原来的内容还有没

2018-07-30 15:13
schtg
Rank: 12Rank: 12Rank: 12
来 自:https://t.me/pump_upp
等 级:贵宾
威 望:67
帖 子:1542
专家分:3003
注 册:2012-2-29
收藏
得分:0 
回复 4楼 fyyylyl
原来的内容确实变成了新的,我只是希望研究有无替换的办法来实现,非常感谢!
2018-07-30 21:22
星光悠蓝
Rank: 9Rank: 9Rank: 9
来 自:山水甲天下
等 级:贵宾
威 望:52
帖 子:507
专家分:1248
注 册:2010-1-11
收藏
得分:8 
在WORD中查找替换,是可以找到页眉的匹配的字符串,如果正文和页眉中均存在要找的字符,需要判断字符所在位置,先录段宏慢慢研究。
2018-07-30 22:50
schtg
Rank: 12Rank: 12Rank: 12
来 自:https://t.me/pump_upp
等 级:贵宾
威 望:67
帖 子:1542
专家分:3003
注 册:2012-2-29
收藏
得分:0 
回复 6楼 星光悠蓝
你所言极是,用word全文查找并可以替换,但是改为VFP后就不能替换啦,正在研究,有不懂之处再向你请教,谢谢!
2018-07-31 07:16
schtg
Rank: 12Rank: 12Rank: 12
来 自:https://t.me/pump_upp
等 级:贵宾
威 望:67
帖 子:1542
专家分:3003
注 册:2012-2-29
收藏
得分:0 
回复 6楼 星光悠蓝先生
研究之后,只能获取下列相关知识,因我功底有限,实在无法实现页脚中的字符串替换,请指教,谢谢!

全文替换:
     oWord.ActiveDocument.Content.Find.Execute('AAA',.F.,.F.,.F.,.F.,.F.,.F.,.F.,.F.,'BBB',2)
   oWord.ActiveDocument.Content.Find.Execute('AAA',.F.,.F.,.F.,.F.,.F.,.F.,.F.,.F.,'BBB',2,.F.,.F.,.F.,.F.)

表达式及参数
表达式 . Execute(FindText,MatchCase,MatchWholeWord,MatchWildcards,MatchSoundsLike,MatchAllWordForms,Forward,Wrap,Format,ReplaceWith,Replace,MatchKashida,   MatchDiacritics,MatchAlefHamza,MatchControl)

FindText            可选变量    要搜索的文本。可用空字符串 ("") 仅搜索格式,也可通过指定相应的字符代码搜索特殊字符。例如,"^p"对应段落标记,"^t"对应制表符。
MatchCase            可选变量    如果该属性值为 True ,则指定查找文本区分大小写。相当于" 编辑"菜单" 查找和替换"对话框中的" 区分大小写"复选框。
MatchWholeWord        可选变量    如果该属性值为 True ,则查找操作只查找整个单词,而不查找长单词的一部分。相当于" 查找和替换"对话框中的" 全字匹配"复选框。
MatchWildcards        可选变量    如果该属性值为 True ,则查找的文字包含特殊搜索操作符。相当于" 查找和替换"对话框中的" 使用通配符"复选框。
MatchSoundsLike        可选变量    如果该属性值为 True ,则查找操作查找与要查找的文字发音相近的单词。相当于" 查找和替换"对话框中的" 同音"复选框。
MatchAllWordForms    可选变量    如果该属性值为 True ,则查找操作查找要查找的文字的所有形式(例如,查找"sit"的同时,还查找"sitting"和"sat"),相当于" 查找和替换"对话框中的" 查找单词的所有形式"复选框。
Forward                可选变量    如果该属性值为 True ,则向下(向文档尾部)搜索。
Wrap                可选变量    如果从非文档起点处开始搜索并到达文档末尾(如 Forward 设置为 False 则相反),则用该参数控制接下来的操作。当存在选定内容或区域,而又没有在该选定内容或区域中找到搜索文字时,也可用该参数控制接下来的操作。可以是 WdFindWrap 常量之一。
Format                可选变量    如果该属性值为 True ,则查找操作定位于格式或带格式的文本,而不是查找文本。
ReplaceWith            可选变量    替换文字。要删除由 Find 参数指定的文字,可使用空字符串 ("")。与 Find 参数相似,该参数也可以指定特殊的字符和高级搜索条件。要将图形对象或者其他非文本项指定为替换内容,可将这些项置于剪贴板上,然后将 ReplaceWith 指定为"^c"。
Replace                可选变量    指定执行替换的个数:一个、全部或者无。可以是任意 WdReplace 常量。


MatchKashida        可选变量    在阿拉伯语文档中,如果查找操作用匹配的 kashida 来匹配文字,则该属性值为 True 。根据你所选择或安装的语言支持(如美国英语)的不同,该参数可能不可用。
MatchDiacritics        可选变量    在使用从右向左语言的文档中,如果查找操作用匹配的音调符号来匹配文字,则该属性值为 True 。根据你所选择或安装的语言支持(如美国英语)的不同,该参数可能不可用。
MatchAlefHamza        可选变量    在阿拉伯语文档中,如果查找操作用匹配的 Alef Hamza 来匹配文字,则该属性值为 True 。根据你所选择或安装的语言支持(如美国英语)的不同,该参数可能不可用。
MatchControl        可选变量    在使用从右向左语言的文档中,如果查找操作用匹配的双向控制字符来匹配文字,则该属性值为 True 。根据你所选择或安装的语言支持(如美国英语)的不同,该参数可能不可用。
MatchPrefix            可选变量    如果该属性值为 True ,则匹配以搜索字符串开头的单词。相当于" 查找和替换"对话框中的" 区分前缀"复选框。
MatchSuffix            可选变量    如果该属性值为 True ,则匹配以搜索字符串结尾的单词。相当于" 查找和替换"对话框中的" 区分后缀"复选框。
MatchPhrase            可选变量    如果该属性值为 True ,则忽略单词之间的所有空格和控制字符。
IgnoreSpace          可选变量    如果该属性值为 True ,则忽略单词之间的所有空格。相当于" 查找和替换"对话框中的" 忽略空格"复选框。
IgnorePunct            可选变量    如果该属性值为 True ,则忽略单词之间的所有标点符号。相当于" 查找和替换"对话框中的" 忽略标点符号"复选框。
        

[此贴子已经被作者于2018-7-31 08:56编辑过]

2018-07-31 08:50
星光悠蓝
Rank: 9Rank: 9Rank: 9
来 自:山水甲天下
等 级:贵宾
威 望:52
帖 子:507
专家分:1248
注 册:2010-1-11
收藏
得分:0 
oword=createobject("word.application")
If Type("oword")#"O"
   WAIT CLEAR
   MessageBox( "访问Word失败!请检查你的系统是否正确安装 Word 软件!",48,"Word不正常")
   RETURN .f.
ENDIF
with oword
     .documents.add
     .visible=.t.
     .selection.insertafter("   VFP如何控制WORD文件 AAA  ")
     .application.activate
     .Documents(1).Sections(1).Headers(1).Range.Text ="VFP如何控制WORD文件 AAA" &&页眉
     .Selection.insertafter(CHR(13)+SPACE(4)+"周四下午2时左右,私募人士陈先生的MSN突然收到朋友转发的一条信息,内容惊出他一身冷汗:"+'"本周六,管理层将公布调整印花税方案 AAA ,由先期单向征收1‰上调至1.5‰"')
ENDWITH

with oword
    .ActiveWindow.ActivePane.View.SeekView=1
    .Selection.Find.ClearFormatting
    .Selection.Find.Replacement.ClearFormatting
ENDWITH
_CLIPTEXT ="BBB"

DO WHILE .t.
    IF oword.Selection.Find.Execute('AAA')
        *oWord.ActiveDocument.Content.Find.Execute('AAA',.F.,.F.,.F.,.F.,.F.,.F.,.F.,.F.,'BBB',2)
        oword.Selection.Paste
   ELSE
        EXIT
   ENDIF   
ENDDO

oword.ActiveWindow.ActivePane.View.SeekView=0
2018-07-31 12:01
schtg
Rank: 12Rank: 12Rank: 12
来 自:https://t.me/pump_upp
等 级:贵宾
威 望:67
帖 子:1542
专家分:3003
注 册:2012-2-29
收藏
得分:0 
回复 9楼 星光悠蓝
就是这样的,非常感谢!
2018-07-31 14:57
快速回复:[求助]用VFP命令如何查找word2003文档的页眉、页脚中的字符串,并替换 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015670 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved