该方案是Windows Server 2012 R2,64位; Excel 2010,32位.许多用户,只有其中几个拥有管理权限.我从内置管理员安装了Power Query.没有询问任何内容,为所有用户安装了加载项; 我的意思是它的设置可以在HKLM下的注册表项中找到,而不是HKCU.
关键是
HKEY_LOCAL_MACHINE -> SOFTWARE -> Wow6432Node -> Microsoft -> Office -> Excel -> AddIns -> Microsoft.Mashup.Client.Excel
而相关的价值是
LoadBehavior (REG_DWORD)
现在只有少数用户真的需要Power Query.每次启动Excel时,我都不希望它为每个人加载.我为LoadBehavior值尝试了一些不同的设置(请参阅此链接).我找到了以下内容:
软件 - > Microsoft - > Office - > Excel - > Addins - > -Microsoft.Mashup.Client.Excel
这一切似乎都很好.现在问题是我需要从VBA过程调用一些Power Query操作.如果已加载Power Query,则一切正常.但如果未加载,即使使用"按需加载"设置,操作也会失败.为了加载Power Query,必须按下Excel GUI上的某个按钮,该按钮调用Power Query操作.
我发现VBA中有一个加载项对象的属性,它指示加载项是否已加载,并且可以设置为从VBA加载或卸载加载项.它是:
Application.COMAddIns.Item("Microsoft.Mashup.Client.Excel").Connect
如果是True,则加载加载项,如果加载,则加载加载False项.
现在应该可以通过将此属性设置为True来加载加载项.但是,在我的方案中情况并非如此:结果是错误(80004005).这似乎是与没有管理权限的用户相关的问题.查看此页面 - 此行为被视为错误.
我将在稍后尝试的最后一个想法是完全删除HKLM下的密钥中的LoadBehavior.我已经检查过这会阻止用户看到加载项,除非创建了特定于用户的密钥,在这种情况下,用户可以自动设置加载项加载行为.我将看到在这种情况下从VBA请求加载时会发生什么.
同时,我很感激任何想法来解决这个问题:Power …
我的情况:我克隆了一个存储库(内核的源文件)。然后检查一个分支,并构建内核。二进制文件已存储在工作树的子目录中。现在,我想放弃所有本地更改,包括构建的二进制文件,并恢复到克隆存储库的不同分支。
特别是,我认为这个答案很有用。在我看来,最好的方法是
git checkout -f <desired branch of the original cloned repository>
Run Code Online (Sandbox Code Playgroud)
如果我理解正确,这应该强制结帐,丢弃本地更改(如果我错了,请纠正我)。Git 已成功签出,但我仍然在工作树的同一子文件夹中找到之前构建的二进制文件。