如何在QlikView 11与NPrinting配合时避免“允许宏”确认提示?
QlikView 11自动允许宏以配合NPrinting无中断运行的解决方案
一、修正QlikView宏安全配置(针对NPrinting服务账户)
之前改Settings.ini没成功,大概率是找错了账户对应的配置文件——QlikView的配置是按用户存储的,NPrinting一般用服务账户运行,得针对这个账户调整:
- GUI可视化配置(需用NPrinting服务账户登录操作):
- 打开QlikView 11,点顶部菜单栏
Settings->User Preferences - 切到
Security标签页,在Macro Security区域选Low;如果宏是签名过的,选Medium并勾选“总是信任已签名宏” - 勾选
Allow macros to run without confirmation(部分QlikView 11版本有这个选项) - 保存设置后关闭QlikView,重启NPrinting服务
- 打开QlikView 11,点顶部菜单栏
- Settings.ini精准修改:
- 找到服务账户的配置文件,路径一般是
C:\Users\[NPrinting服务账户名]\AppData\Roaming\QlikTech\QlikView\Settings.ini - 打开后定位到
[Security]段,添加或修改参数:
(MacroSecurity=0 AllowMacrosWithoutConfirmation=1MacroSecurity=0对应低安全级别,1是中级,2是高级) - 保存文件,确保服务账户有读写权限,再重启NPrinting服务
- 找到服务账户的配置文件,路径一般是
二、更安全的替代:宏签名与信任
不想降低全局安全级别的话,给宏做数字签名:
- 用企业内部或第三方代码签名证书给QlikView宏签名
- 在QlikView安全设置里,把证书加入
Trusted Publishers列表 - 签名后的宏会自动被允许运行,无需手动确认,同时保持安全级别
三、NPrinting侧配置检查
- 确认NPrinting任务配置里勾选了
Run macros in the document(如果有这个选项) - 检查NPrinting服务的运行账户,确保它有权限访问QlikView文档和宏相关资源
四、极端情况的备选方案
如果以上都无效,可以换思路:
- 把QlikView文档里的宏逻辑迁移到NPrinting的自定义脚本里,用NPrinting脚本处理报表逻辑
- 用QlikView的
Batch.exe配合任务计划,预先打开文档并自动允许宏,再触发NPrinting任务
内容的提问来源于stack exchange,提问作者Nickname_used
相关产品推荐
相关产品推荐

