[英]How to open Outlook msg files from disk using perl and Win32::OLE
[英]Outlook + Perl + Win32::Ole: How do you select calendar entries sorted by date?
當前代碼打開一個Outlook Calendar數據庫,如下所示:
my $outlook = Win32::OLE->GetActiveObject('Outlook.Application') || Win32::OLE->new('Outlook.Application', 'Quit');
my $namespace = $outlook->GetNamespace("MAPI");
## only fetch entries from Jan 1, 2007 onwards
my $restrictDates = "[Start] >= '01/01/2007'";
由於您沒有顯示獲取對象日期的代碼,因此如果不了解您要訪問的Outlook對象,就無法回答此問題。
如果您有一組對象,則可以按日期對它們進行排序,並過濾某個對象之前的對象。
my $sub = sub {
my $ad = $a->date_string_accessor;
my $bd = $b->date_string_accessor;
$ad =~ s:(\d+)/(\d+)/(\d+):$3 . sprintf('%0d', $1) . sprintf('%0d', $2):e;
$bd =~ s:(\d+)/(\d+)/(\d+):$3 . sprintf('%0d', $1) . sprintf('%0d', $2):e;
return $ad cmp $bd;
};
my @sorted = sort $sub @unsorted;
print join("\n", @sorted);
但是在我看來,您應該使用應用程序本身來執行此操作-大概Outlook具有某種查詢/排序功能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.