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;
//rock //转载请保留此信息
|