cxgreat2014/VBScript_DOC2PDF

office 2010 在 network 存储上的权限问题

Opened this issue · 3 comments

一个不算 bug 的 bug

我自己借您的小插件改了改,用来给同事从一个文件夹里的 doc 批量转成 pdf,转存到另外一个文件夹。
由于文件在 server 上,在运行脚本时,office 提示我没有权限,后来得知是因为不是 trusted location,所以无法打开并另存为(抱歉用的是英文 office,不知中文翻译)。

一个 fix 就是,将 network drive 添加到 trust center 里面的 trusted location。请注意不要填写网络映射 mapping location 的名字,即类似 Z:\, 而是要填写 \servername\foldername 这种路径 。

这个fix起来很麻烦。。因为若是要做到兼容还要调用系统API来判断该路径是否在网络路径映射到本地驱动器路径之下。。要改出来的话还不如我用python+vb重写好了。。或许可以这样,直接到\servername\foldername路径下执行,酱紫应该也能通过

我猜想问题就出在 office security setting 上,根据 microsoft support 的这篇文章

To help protect your computer, Office 2010 opens files from these potentially unsafe locations in Protected View.

所以我们插件打开 network drive 上的文件时是以 protected view 打开的,是没法编辑并且保存的,只能浏览,所以 office 就报错了

解决这个问题的话,就手动把路径添加到 trusted location 就好~ 如果 需要通过编码实现,我看了一篇文章,大概是需要更改注册表,他列举了几种办法,通过用 vbs 或者 .reg 文件添加注册表,我打算试验一下

汗。。这样不会带来安全问题吗?。。希望您用的舒心:)