【发布时间】:2020-05-13 01:16:21
【问题描述】:
我已经在两台机器上运行了以下代码:
$ol = New-Object -ComObject Outlook.Application
$m = $ol.CreateItem(0)
$m.Body = "ASDF"
Write-Host $m.Body
在我的个人计算机(Windows 10 64 位、Outlook (Office16) 64 位)上,这会输出“ASDF”。
$Host.Version
Major Minor Build Revision
----- ----- ----- --------
5 1 18362 145
$ol.Application.Version
16.0.0.11929
在我的工作机器(Windows 10 64 位、Outlook (Office16) 32 位)上,$m.Body 返回为 null,并且只有空行输出。我已经尝试过 32 位和 64 位版本的 PowerShell。
$Host.Version
Major Minor Build Revision
----- ----- ----- --------
5 1 16299 1146
$ol.Application.Version
16.0.0.4705
在两台机器上调用$m.Display() 会产生预期的结果:一封以“ASDF”为正文的电子邮件。问题是我无法以编程方式读取/获取邮件正文。
为什么在我的工作机器上尝试读取 $m.Body 时它似乎为空?
更新
我尝试了以下代码,但它只输出空行:
$ol = New-Object -ComObject Outlook.Application
$m = $ol.CreateItem(0)
$m.Body = "ASDF"
Write-Host $m.Body
$m.Save()
$m.Body = "ASDF"
Write-Host $m.Body
【问题讨论】:
标签: powershell outlook outlook-addin