我创建了一个脚本,如果它在功能区中当前不活动,将激活Outlook外接程序。这是通过将comaddin.connect上的布尔设置从false更改为true来完成的。该脚本仅在某些条件下有效。
基本上,我遇到的问题是当你运行new-object -comobject Outlook.Application时,它只有在shell以与Outlook相同的模式打开时才会起作用(如果Outlook当前是打开的,它需要)。由于加载项已安装到所有用户,因此我需要更改的布尔设置是HKLM,这需要PowerShell窗口以管理员模式运行。因此,如果shell处于管理员模式,我无法使用Outlook comobject,但除非shell处于管理员模式,否则我无法更改所需的设置。
注意:如果Outlook和shell都以管理员模式运行,或者仅在当前用户下卸载并重新安装加载项,则以下代码有效。它不能与安装到所有用户的加载项一起使用,这是我们不幸的需要。
我希望有人在这里有创造性的方法! :)
$objoutlook = New-Object -ComObject outlook.application
$objoutlook.application.COMAddIns | where {$_.description -eq "Addin Name Here"} | %{$_.connect=$true}
答案 0 :(得分:-1)
你无能为力,这是一个很好的例子。真正的解决方案是让COM插件本身隐藏或显示其UI,同时保持活跃状态。