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