【发布时间】:2021-03-25 03:44:56
【问题描述】:
我有一个目录,里面有我想要处理的 Outlook .msg 文件。 处理将是打开文件并保存附件。 我已成功使用 Win32::OLE 处理 Outlook 文件夹中的邮件, 但这些是磁盘上的文件。如何打开磁盘上的 msg 文件并进行处理 使用 perl 和 Win32::OLE?
限制:我工作的环境不允许我在机器上安装任何东西。特别是,我不能添加其他程序或 perl 模块。我坚持使用全新安装的 perl 附带的模块。
这是我尝试过的:
use Win32::OLE;
use Win32::OLE::Const 'Microsoft Outlook';
use Win32::OLE::Variant;
my $OL = Win32::OLE->GetActiveObject('Outlook.Application') ||
Win32::OLE->new('Outlook.Application', 'Quit');
my $NameSpace = $OL->GetNameSpace("MAPI");
$File = Win32::GetFullPathName(".") . "\\" . "TestMessage.msg";
$msg = $OL->Open($File); ## Result is undefined
解决方案和/或参考将不胜感激。
【问题讨论】:
-
Win32::OLE->LastError() 显示什么有趣的东西吗?
-
@GeorgMavridis - 是的!我得到
Win32::OLE(0.1709) error 0x8002000e: "Invalid number of parameters" in METHOD/PROPERTYGET。我将尝试在Open上查找文档 -
有人解决这个问题了吗??
-
@Mohit。不。我尝试按照错误消息进行操作,但从未得到有效的示例。
-
但我能做到