检索Outlook';收件箱';和';已发送';Delphi中使用OLE的文件夹

检索Outlook';收件箱';和';已发送';Delphi中使用OLE的文件夹,delphi,com,outlook,ole,Delphi,Com,Outlook,Ole,从Delphi中提取Outlook文件夹的最佳方法是什么?理想情况下,我希望检索收件箱文件夹和其中的任何其他文件夹。我不需要电子邮件标题/邮件,只需要文件夹名称 Delphi BDS 2006有关Outlook的对象模型,请参见。下面显示收件箱中文件夹的名称: procedure TForm1.Button1Click(Sender: TObject); var Outlook, oNameSpace, Inbox: OleVariant; i: Integer; begin try

从Delphi中提取Outlook文件夹的最佳方法是什么?理想情况下,我希望检索收件箱文件夹和其中的任何其他文件夹。我不需要电子邮件标题/邮件,只需要文件夹名称

Delphi BDS 2006

有关Outlook的对象模型,请参见。下面显示收件箱中文件夹的名称:

procedure TForm1.Button1Click(Sender: TObject);
var
  Outlook, oNameSpace, Inbox: OleVariant;
  i: Integer;
begin
  try
    Outlook := GetActiveOleObject('Outlook.Application');
  except
    Outlook := CreateOleObject('Outlook.Application');
  end;
  oNameSpace := Outlook.GetNamespace('MAPI');
  oNameSpace.Logon('', '', False, False);   // not sure if this is necessary
  Inbox := oNameSpace.GetDefaultFolder(olFolderInbox);
  for i := 1 to Inbox.Folders.Count do
    ShowMessage(Inbox.Folders[i].Name);
end;

olFolderInbox
6
BTW,更多信息请参见RAD Studio安装的
OCX\Servers
文件夹中的'outlook2000.pas'或'outlookxp.pas'。和“comobj.pas”应包含在“uses”子句中。或导入Microsoft Outlook 16.0对象库的类型库。