king8462 发表于 2010-5-11 18:52:59

关于_WordDocFindReplace

编写了一个脚本,需要替换word文档中的某些内容,操作正文没有任何问题,但
使用_WordDocFindReplace这个函数无法替换word文件页眉中的内容!请教各位高手。

lynfr8 发表于 2010-5-12 20:12:15

_WordDocFindReplace替换word正文内容可行,页眉确实无法替换
不过,替换word页眉中内容有折中的解决方法:_WordMacroRun 运行宏

以附件Test.doc作为测试文档
1.在word里建立一个命名为VBA的宏:

2.在代码区复制以下代码进去:
Sub VBA()
Dim myRange As Range
Set myRange = ActiveDocument.Sections(1).Headers(1).Range
myRange.Find.Execute findtext:="1", replacewith:="", Replace:=wdReplaceAll
End Sub

3.保存即完成建立一个替换页眉中数字1为空白(即删除)的宏啦
4.运行一下AU3代码,看看效果如何?
#include <Word.au3>
$oWordApp = _WordCreate (@ScriptDir & "\Test.doc");打开Test.doc
_WordMacroRun ($oWordApp, "VBA");运行一个名为"VBA"的宏

king8462 发表于 2010-5-13 21:05:59

谢谢楼上的!

还想请教一下,能把au3中的变量值写入这个宏吗?

$name=InputBox("信息", "请输入:姓名" & "并单击确定")
$oWordApp = _WordCreate (@ScriptDir & "\Test.doc");打开Test.doc

_WordMacroRun ($oWordApp, "VBA");运行一个名为"VBA"的宏

能把doc文档页眉中的1替换成$name的值吗?

king8462 发表于 2010-5-19 20:48:24

哪位高人能帮我搞定这个au3和vba之间的参数传递啊?

chana_zh 发表于 2010-7-29 22:35:18

文本框里的怎么查找替换呢
页: [1]
查看完整版本: 关于_WordDocFindReplace