【问题标题】:Saving Excel Add-In in Windows 7在 Windows 7 中保存 Excel 加载项
【发布时间】:2011-01-05 12:15:21
【问题描述】:

我正在开发一个在 Windows XP 中运行良好的 Excel 加载项。但是,我刚刚获得了 Windows 7 Professional,现在我无法从 VBA 编辑器手动保存此加载项,也无法使用 ThisWorkbook.Save 以编程方式保存。

错误信息说

“Microsoft Office Excel 无法访问文件 'C:\Program Files\Microsoft Office\Office 12\LIBRARY[一些随机的 8 字符字符串而不是我的加载项的名称]”。

此对话框错误的一个可能解释是“文件名或路径不存在”。好吧,当然不是。

我尝试关闭加载项文件及其目录的只读,以及使用“属性”对话框“取消阻止”文件(似乎是 Windows 7 的一项新功能),但无济于事。

如何让这个基本的保存功能在 Windows 7 中工作?

【问题讨论】:

    标签: vba excel windows-7 uac


    【解决方案1】:

    问题似乎与您尝试保存文件的目录有关。因此,一种可能的解决方案是使用替代目录。为了做到这一点, - 首先,删除任何以前的引用。 - 接下来,您需要创建一个受信任的文件夹位置(文件/选项/信任中心/信任中心设置/受信任位置/添加新位置)。 - 将插件复制到这个新创建的受信任文件夹。 - 最后,File/Options/Add-ins/Manage Excel Add-ins,添加插件。

    【讨论】:

      【解决方案2】:

      我猜这是在 Vista 中引入的 Windows 的 UAC 行为,并且仍在 Windows 7 中。

      查看this Microsoft page 以了解用户的观点,查看this MSDN one 了解如何使用它进行编程。

      总之,如果你开启了 UAC,你就不能在不请求提升的情况下写入 Program Files。

      (编辑:cmets 提出的一些额外积分) 如果这只是为了开发,您可以使用右键单击->“以管理员身份运行”来运行 Excel,这将使您可以保存在您想要的位置,或者您可以保存在 %AppData%\Microsoft\Addins 中,这也是一个受信任的位置(有关详细信息,请参阅this MSDN article)。

      【讨论】:

      • 我认为您对 UAC 的看法是正确的。我检查了链接,但没有找到任何可以帮助我解决这个问题的东西。我的加载项文件实际上位于 Excel 使用的受信任位置,而不是 Program Files 目录。不得不相信还有其他用VBA写的插件也遇到过这个问题……
      • 您是否可以保存在用户文件夹 (%appdata%) 中?如果您的受信任位置不在程序文件中,但仍在受限制的位置之一,您仍然会遇到问题。如果这只是为了开发,您可以使用右键单击->“以管理员身份运行”来运行 Excel,这将使您可以保存在您想要的位置。
      • 蚂蚁,你是对的。加载项必须保存到 C:\Users\[用户名]\AppData\Roaming\Microsoft\Addins,或者如果在 UAC 下登录,您可以使用受信任的位置路径。非常感谢您的帮助。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多