Vba 在Windows 7中保存Excel加载项

Vba 在Windows 7中保存Excel加载项,vba,excel,windows-7,uac,Vba,Excel,Windows 7,Uac,我正在开发一个Excel加载项,它在Windows XP中运行良好。但是,我刚刚掌握了Windows 7 Professional,现在无法保存此加载项,无论是从VBA编辑器手动保存,还是使用ThisWorkbook.save以编程方式保存 错误消息说 “Microsoft Office Excel无法访问文件'C:\Program Files\Microsoft Office\Office 12\LIBRARY[一些随机的8字符字符串,而不是我的加载项名称]” 此对话框错误的可能解释之一是“文

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

错误消息说

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

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

我尝试关闭外接程序文件及其目录的只读,以及使用属性对话框“取消阻止”该文件(似乎是Windows 7的新功能),但没有成功


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

我猜这是Windows的UAC行为,它是在Vista中引入的,现在仍然在Windows 7中

从用户的角度看一看,并了解如何在头脑中进行编程

总之,如果您打开了UAC,则在不请求提升的情况下无法写入程序文件

(编辑:评论中提出的几个额外要点)
如果这只是为了开发,您可以使用右键单击->“以管理员身份运行”来运行Excel,这将使您可以保存在所需的位置,或者您可以保存在%AppData%\Microsoft\Addins中,这也是一个受信任的位置(请参阅以获取更多详细信息)。

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

我认为您对UAC的看法是正确的。我查看了链接,但没有找到任何有助于我解决此问题的内容。我的加载项文件实际上位于Excel使用的受信任位置,而不是程序文件目录。我必须相信,有其他用VBA编写的加载项遇到了此问题…您是否能够保存在用户文件夹(%appdata%)中?如果您的受信任位置不在程序文件中,但仍在某个受限制的位置,则仍然会出现问题。如果这只是为了开发,您可以使用右键单击->“以管理员身份运行”来运行Excel,这将使您可以在需要的地方保存。Ant,您的钱是对的。外接程序必须保存到C:\Users\[用户名]\AppData\Roaming\Microsoft\Addins,或者如果在UAC下登录,则可以使用受信任的位置路径。非常感谢你的帮助。