js宏怎么批量去掉

我有多个doc文件里,都插入了wps的js宏。现在我通过windows下COM接口调用wps,按照文档设置AutomationSecurity=3禁用宏,但是js的宏还是运行了,请问应该怎么才能在程序运行临时禁用宏。 还有我将文件另存为doc格式,js宏还是存在,有什么办法,能把js宏内容都去掉。 代码如下: ``` word = win32com.client.DispatchEx('Kwps.Application') word.Visible = False word.DisplayAlerts = 0 setattr(word.Application, 'AutomationSecurity', 3) ``` 令外附上js宏文件内容 ``` /** * Macro1 Macro * 宏由 ww录制,时间: 2023/09/14 */ function Macro1() { alert('你被攻击了'); } function Application_DocumentOpen(Doc) { alert('你被攻击了😈😈😈😈😈😈😈😈'); } ```
上海
浏览 1374
收藏
5
分享
5 +1
7
+1
全部评论 7
 
刘志成
666
· 山东省
回复
 
王书玮
最主要的诉求是,怎么临时通过程序禁掉宏,去掉宏我可以转成其他格式让他不存在宏就行了。 按照官方文档里说的AutomationSecurity=3,是可以禁止所有宏运行,但是实际看下来,宏还是被执行了。 还是说这个只针对VBA的宏起作用,对JS的宏不起作用? 能有人能了解吗
· 上海
回复
陈俊东
陈俊东

@金山办公

您这边是文字组件的AutomationSecurity不起作用吧,我这边看表格是可以的,可能是文字还没支持。如果要临时禁止宏,可以通过界面”开发工具“——”宏安全性“——安全等级调至”非常高“。
· 广东省
回复
 
懒得批爆
懒得批爆

创作者俱乐部成员

可使用批处理文件,详情请查看https://kdocs.cn/l/caozPAhJfC4Z
· 四川省
回复
王书玮
感谢你的回答。 但是这个并没有解决问题,您这个方法是文件打开之后,再去掉宏。 但是在文件打开时候,宏就已经运行了,再去掉宏其实已经意义不是很大了。 我看MS office可以在打开文件之前先设置AutomationSecurity=3,临时禁用宏,实验下来确实也是可以的;wps官方文档里,也说明了这个方法可以禁掉宏,但是实际运行下来,这个是不起作用的,打开文档时宏还是运行了。
· 上海
回复