3

メッセージの総数、サブフォルダーの一覧、フォルダーあたりのメッセージ数、メールの件名、各メッセージの送受信日など、PSTファイルの内容に関する情報を抽出するコードを作成中です。

これは進行中の作業であり、Ruby / Outlook/MAPIに慣れていく必要があります。

PSTコンテンツにアクセスする方法を理解するために、次のコードスニペットを使用してWindowsで作業しています。

#Create outlook instance
outlook = WIN32OLE.new('Outlook.Application')
#Create mapi control
mapi = outlook.GetNameSpace('MAPI')
outlook.Session.AddStore('C:/test.pst')
#pst = mapi.Folders.Item('Personal Folders')
#puts pst.Items.count
#mapi.RemoveStore(pst)

ファイル名を使用してpstファイルを追加することはできますが、それを削除するには、Outlookでファイルに割り当てられている名前を知る必要があります。これは、手動でOutlookを使用している場合は問題ありませんが、自律的に実行することを望みます。

この問題を回避するために、ロード後にpst'name'を抽出して変数に割り当てる方法はありますか、または私が知らないpstファイルをアンロードする別の方法はありますか?

4

1 に答える 1

0

配列メソッドを使用してみる

outlook.Session.AddStore('C:/test.pst')
mapi.RemoveStore(mapi.Folders.Item.last)

もう 1 つのオプションは、追加する前に mapi.Folders を反復処理することです。その後、反復してマップされた新しい「アイテム」名を見つけ、それを削除します。

于 2012-08-13T19:41:44.177 に答える