我已设法在Outlook中添加文件夹,但无法解决如何移动文件夹的问题。我的代码不会丢弃任何警告,也不会移动文件夹:
#!/usr/bin/perl
use strict;
use warnings;
use Win32::OLE;
use Win32::OLE::Const 'Microsoft Outlook';
# use existing instance if Outlook is already running, or launch a new one
my $Outlook;
eval {$Outlook = Win32::OLE->GetActiveObject('Outlook.Application')};
die "Outlook not installed" if $@;
unless (defined $Outlook) {
$Outlook = Win32::OLE->new('Outlook.Application', sub {$_[0]->Quit;})
or die "Oops, cannot start Outlook";
}
my $namespace = $Outlook->GetNamespace("MAPI");
#my $Folder = $namespace->Folders("backupadmin")->Folders(
# "Inbox")->Folders->Add("test");
my $Folder = $namespace->Folders("backupadmin")->Folders(
"Inbox")->Folders("test")->MoveTo("test1");
答案 0 :(得分:0)
如果使用流行的Outlook Redemption库,则可以检索要移动的文件夹的RDO Folder对象,然后使用目标RDO文件夹作为参数调用MoveTo
方法。对于某些示例Perl代码,您可以引用使用Email::PST::Win32
和Outlook Redemption的Win32::OLE
CPAN模块来访问RDO文件夹对象。
Outlook赎回:http://www.dimastr.com/redemption/home.htm
使用MoveTo方法的RDO文件夹:http://www.dimastr.com/redemption/rdo/rdofolder.htm
电子邮件:: PST :: Win32:https://metacpan.org/release/Email-PST-Win32