求WORD VBA代码:
效果:删除或更改页眉内容(某文字,如AAA)后,删除文件内所有图片及存盘。
Sub abc()
Dim mySec As Section
Dim myShape1 As Shape, myShape2 As InlineShape
' 修改所有页眉中的 AAA 为 BBB,请自行替换相应的内容,若需删除 AAA,则 BBB 为空即可
For Each mySec In ActiveDocument.Sections
mySec.Headers(1).Range.Text = Replace(mySec.Headers(1).Range.Text, "AAA", "BBB")
Next mySec
' 删除文档中所有的图形对象
For Each myShape1 In ActiveDocument.Shapes
myShape1.Delete
Next myShape1
' 删除文档中所有的嵌入对象
For Each myShape2 In ActiveDocument.InlineShapes
myShape2.Delete
Next myShape2
' 不提示直接保存文档
ActiveDocument.Save noPrompt:=True
End Sub追问
Dim mySec As Section
Dim myShape1 As Shape, myShape2 As InlineShape
' 修改所有页眉中的 AAA 为 BBB,请自行替换相应的内容,若需删除 AAA,则 BBB 为空即可
For Each mySec In ActiveDocument.Sections
mySec.Headers(1).Range.Text = Replace(mySec.Headers(1).Range.Text, "AAA", "BBB")
Next mySec
' 删除文档中所有的图形对象
For Each myShape1 In ActiveDocument.Shapes
myShape1.Delete
Next myShape1
' 删除文档中所有的嵌入对象
For Each myShape2 In ActiveDocument.InlineShapes
myShape2.Delete
Next myShape2
' 不提示直接保存文档
ActiveDocument.Save noPrompt:=True
End Sub追问
非常感谢您的热心支持!写了代码还做了批注说明。本人对VB基本是0了解,惭愧。
我将您的代码复制到文件内,修改了页眉AAA改为BBB,运行宏后出现了以下错误,且没有删除图片和保存。
麻烦请看看怎么回事,谢谢!
那么请把最后一句话中的 noPrompt:=True 删除再试试。
图片没有删除吗?能否截图看看图片的样子(请选中一个图片,然后连同文档界面一同截图,这样也许能看出图片的格式)
温馨提示:答案为网友推荐,仅供参考