我强迫我的用户运行批处理文件来运行Excel VBA应用程序,因为它以不同的用户身份运行,该用户对某些用户无法直接访问的资源拥有权限。
批处理文件如下所示,效果很好。我唯一不喜欢的是因为文件是以不同的用户身份运行的,所以当你点击excel时,它总是要求你启用宏。
有没有办法在批处理文件中运行Exel,这样它就不会要求你启用宏 - 它们是强制启用的?
我用来运行的帐户是一个服务帐户。它没有登录权限。它只有权读取和写入某些文件夹。
这是我的BAT文件:
runas /user:ALLIEDFIT\teammtr /savecred "C:\Program Files (x86)\Microsoft Office\Office15\Excel.exe \"\\afhoufile02\User_Folders\Allied MTRS\Allied MTRS Auto\Z_Dev\_Prod_Push.xlsm\""
答案 0 :(得分:0)
使用受公司计算机中代码发布者信任的数字证书对代码进行签名。 然后通过组策略为所有客户端设置"禁用除数字签名" 之外的所有宏。 之后,Excel将永远不再要求为您的数字签名代码启用宏。
或者通过组策略设置某些文件夹是受信任位置,以便自动信任这些位置中的VBA代码。见Add, remove, or change a trusted location。但我建议通过组策略执行此操作:GPO To Block Macro’s On Local PC But Not File Shares。