Outlook对象提供了一个MAPI命名空间可以访问其文件夹集合,每个文件夹都有一个唯一的字符型标识符,可以将其作为数据保存在TTreeNode的EntryID属性里。例程如下,uses里加上ComObj。 procedure LoadFolder(ParentNode: TTreeNode; Folder: OleVariant); var i: Integer; node: TTreeNode; begin for i := 1 to Folder.Count do begin node := Form1.TreeView1.Items.AddChild(ParentNode, Folder.Item[i].Name); LoadFolder(node, Folder.Item[i].Folders); end; end;
procedure TForm1.Button1Click(Sender: TObject); var Outlook, namespace: OLEVariant; begin Outlook := CreateOleObject('Outlook.Application'); namespace := Outlook.GetNameSpace('MAPI'); loadFolder(nil, NameSpace.Folders); Outlook := UnAssigned; end;