您的位置:首页 > 编程语言 > VB

vba批量删除水印

2020-03-06 17:09 1851 查看

解决办法:vba代码批量删除。

原因:今天辅导员找我帮他把pdf转成word,但是输出后的word里有大量的水印。

以前学习过的:去除水印目前比较好的办法是在photoshop里抠出水印,新建图层取反色,图层模式改为差值。然后就可以大面积复制去掉水印。(有的时候还是不彻底,但是对于大量水印却十分方便,如果用修补或者印章慢慢修是最完美的。)

思路:开心地是转换后的word里水印都变成了艺术字和文本分开了。由于工程不大,本来想一个一个删除的。但是很多艺术字与表格参杂在了一起,很难选定。

我想到了用查找功能批量搜索特殊格式(图片)^p。可惜没有效果。

在网上搜索了一下想到用vba删除,复习了一下vba的知识。

方法:word视图-宏-新建

Sub 批量删除艺术字()
Dim a As Shape
For Each a In ActiveDocument.Shapes
Select Case a.Type
Case msoTextEffect
a.Delete
End Select
Next
End Sub

for函数没什么说的查找所有的shape元素,然后用到了select case函数(select case第一行要有范围的,第二行case才是选定),选取了艺术字效果,然后删除。

缺点:一次不一定能删除全部的,多运行几次就好了。

备注:参考了很多网上的资料,尤其是vba的代码是找的网上修改的,另外各个函数网上有很详细的介绍。

  • 点赞
  • 收藏
  • 分享
  • 文章举报
Vundo 发布了2 篇原创文章 · 获赞 1 · 访问量 122 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: