我的任务是从使用PowerShell开始创建一个Outlook实例,只需查看或显示我在TaskManager中可以看到的过程。
To Digress,这适用于Word.Application
但不适用于Outlook.Application。
$MsApp = New-Object -comObject Word.Application
$MsApp.Visible = $true
我检查过这些方法,但找不到合适的动词来打开,运行或显示。
我很感激解决方案。
答案 0 :(得分:6)
激活刚刚最小化的正在运行的Outlook:
[Runtime.InteropServices.Marshal]::GetActiveObject("Outlook.Application").ActiveWindow().Activate()
创建一个可见的Outlook实例(最简单到start outlook.exe
):
(new-object -com Outlook.Application).GetNamespace("MAPI").GetDefaultFolder("olFolderInbox").GetExplorer().Display()
使代码更清晰:
$outlook = new-object -com Outlook.Application
$namespace = $outlook.GetNamespace("MAPI")
$folder = $namespace.GetDefaultFolder("olFolderInbox")
$explorer = $folder.GetExplorer()
$explorer.Display()
答案 1 :(得分:0)
如果要使已经运行的Word或Outlook实例可见,则不希望使用New-Object。你想得到运行的对象。您可以使用.NET调用执行此操作:
$word = [Runtime.InteropServices.Marshal]::GetActiveObject("Word.Application")
$word.Visible = $true