簡體   English   中英

Outlook + Perl + 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM