PowerShell打开Outlook,让您可见

时间:2010-09-09 09:57:01

标签: powershell outlook

我的任务是从使用PowerShell开始创建一个Outlook实例,只需查看或显示我在TaskManager中可以看到的过程。

To Digress,这适用于Word.Application
但不适用于Outlook.Application。

$MsApp = New-Object -comObject Word.Application 

$MsApp.Visible = $true

我检查过这些方法,但找不到合适的动词来打开,运行或显示。

我很感激解决方案。

2 个答案:

答案 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