背景
遇到一个文档是用艺术字打的水印,本来想看怎么能够批量选中艺术字对象,再统一删除,无奈并没找到对应的方法,最后成功通过宏语言,使用VBA代码实现删除艺术字的目的。
方法
首先选择并创建宏对象:

之后在代码框里粘贴删除艺术字的函数内容:

完整代码如下,需要注意的是:此代码适用于Word2016版,如果是2019版,要把判断艺术字的表达式改一下,即Type
赋值语句改为:sh.Type = msoTextBox
,至于其他版本的word可以分别试试这两个语句。
Sub 删除艺术字()
Dim sh As Shape
For Each sh