1

ドキュメントによると、アドレス帳から連絡先を削除すると、「削除済み」フォルダーに移動されます。Outlook を起動するたびに連絡先を更新するコードを書きたくないが、単にアドレス帳からすべての連絡先を削除してから再入力する (たとえば、そのため、パフォーマンスは問題になりませんが、削除されたフォルダー内のエントリの量がますます膨大になります。

Outlook は削除のストレージを適切に管理しますか、それとも必要ですか、hrmp...、怠惰なプログラマーはそれについて心配する必要がありますか?

上記のプログラマーは、おそらくこのようなコードを使用しているでしょう。

Outlook.Folder contacts = 
  this.Application.Session.GetDefaultFolder(
    Outlook.OlDefaultFolders.olFolderContacts) as Outlook.Folder;
Outlook.Folder addressBook = contacts.Folders["lazy"] as Outlook.Folder;

while (addressBook.Items.Count > 0)
  addressBook.Items.OfType<Outlook.ContactItem>().Last().Delete();

彼が心配する必要がある場合、彼はおそらく削除フォルダーから削除を削除したいと思うでしょうが、もちろん、彼のソフトウェアによって削除されたものだけです。連絡先を削除削除するスムーズな方法はありますか?

4

1 に答える 1

1

Folder毎回再作成し、ゆっくりと 1 つずつContactItem削除するのを避けます。を削除するFolderと、削除済みアイテムにコピーは保持されません。Folder多数の項目を削除するよりも、1 回の削除と保存の方が高速です。

Outlook.Folders contactFolders = contacts.Folders;
if (contactFolders.Cast<Outlook.Folder>()
  .Where(c => c.Name == "My AB").Count() > 0)
    contactFolders["My AB"].Delete();

以前の SO 投稿のアドレス帳の作成手順に従ってください。

于 2012-09-07T14:21:38.050 に答える