habe ein problem.-. ich kann in meinem kalender termine hinzufuegen -
das ganze soll aber auch in anderen oeffentlichen ordnern funktionieren.
Nur nicht in dem ich alle einzeln vorher benenne sondern sie mir in einer listbox. oder wie in dem fall jetzt im treeview aufgelistet werden und ich dort den jeweiligen auswaehlen kann..
mit der rechtervergabe geh ich mal zweitranging um.. erstmal interessiert es mich wie ich alle ordner finde.. momentan zeigt er mir nur die parentpfade an
der quellcode sieht so aus.. ich hab hier im forum schon einiges gefunden und mit verwendet aber der letzte punkt klappt halt noch nich
<BR> ////////////////////////////////////////////////<BR>
procedure TFmFolders.FormCreate(Sender: TObject);<BR>
begin<BR>
<PRE> aOutlook := CoApplication_.Create;<BR>
aMapi := aOutlook.GetNameSpace('MAPI');<BR>
OutlookTreeErstellen;</PRE> <BR>
end;<BR>
procedure TFmFolders.OutlookTreeErstellen;<BR>
begin<BR>
<PRE> OutlookTreeView.Items.BeginUpdate;<BR>
OutlookTreeHinzufuegen(nil, aMapi.Folders);<BR>
OutlookTreeView.Items.EndUpdate;<BR>
OutlookTreeView.SortType := stText;</PRE> <BR>
end;
procedure TFmFolders.OutlookTreeHinzufuegen(Eltern:TTreeNode ; Folder:OLEVariant);<BR>
var<BR>
i : integer;<BR>
node : TTreeNode;<BR>
entryID : string;<BR>
begin<BR>
<PRE> for i:=1 to Folder.Count do begin<BR>
entryID := Folder.Item[i].EntryID;<BR>
node := OutlookTreeView.Items.AddChildObject(Eltern,Folder .Item [i].Name, StrNew(PChar(entryID)));<BR>
with node do begin<BR>
node.HasChildren := Folder.Item[i].Folders.Count>0;</PRE> <BR>
end;<BR>
end;<BR>
end;<BR>
procedure TFmFolders.OutlookTreeViewExpanding(Sender: TObject;
Node: TTreeNode; var AllowExpansion: Boolean);<BR>
var<BR>
folder : OLEVariant;<BR>
entryID : string;<BR>
begin<BR>
<PRE> entryID := StrPas(Node.Data);<BR>
folder := aMapi.GetFolderFromID(entryID,folder);<BR>
OutlookTreeHinzufuegen(Node,folder.folders);</PRE> <BR>
end;<BR>
///////////////////////////////////////////////<BR>
wenn ich zu konfus schreibe.. einfach nochmal nachfrage..
cu manu
das ganze soll aber auch in anderen oeffentlichen ordnern funktionieren.
Nur nicht in dem ich alle einzeln vorher benenne sondern sie mir in einer listbox. oder wie in dem fall jetzt im treeview aufgelistet werden und ich dort den jeweiligen auswaehlen kann..
mit der rechtervergabe geh ich mal zweitranging um.. erstmal interessiert es mich wie ich alle ordner finde.. momentan zeigt er mir nur die parentpfade an
der quellcode sieht so aus.. ich hab hier im forum schon einiges gefunden und mit verwendet aber der letzte punkt klappt halt noch nich
<BR> ////////////////////////////////////////////////<BR>
procedure TFmFolders.FormCreate(Sender: TObject);<BR>
begin<BR>
<PRE> aOutlook := CoApplication_.Create;<BR>
aMapi := aOutlook.GetNameSpace('MAPI');<BR>
OutlookTreeErstellen;</PRE> <BR>
end;<BR>
procedure TFmFolders.OutlookTreeErstellen;<BR>
begin<BR>
<PRE> OutlookTreeView.Items.BeginUpdate;<BR>
OutlookTreeHinzufuegen(nil, aMapi.Folders);<BR>
OutlookTreeView.Items.EndUpdate;<BR>
OutlookTreeView.SortType := stText;</PRE> <BR>
end;
procedure TFmFolders.OutlookTreeHinzufuegen(Eltern:TTreeNode ; Folder:OLEVariant);<BR>
var<BR>
i : integer;<BR>
node : TTreeNode;<BR>
entryID : string;<BR>
begin<BR>
<PRE> for i:=1 to Folder.Count do begin<BR>
entryID := Folder.Item[i].EntryID;<BR>
node := OutlookTreeView.Items.AddChildObject(Eltern,Folder .Item [i].Name, StrNew(PChar(entryID)));<BR>
with node do begin<BR>
node.HasChildren := Folder.Item[i].Folders.Count>0;</PRE> <BR>
end;<BR>
end;<BR>
end;<BR>
procedure TFmFolders.OutlookTreeViewExpanding(Sender: TObject;
Node: TTreeNode; var AllowExpansion: Boolean);<BR>
var<BR>
folder : OLEVariant;<BR>
entryID : string;<BR>
begin<BR>
<PRE> entryID := StrPas(Node.Data);<BR>
folder := aMapi.GetFolderFromID(entryID,folder);<BR>
OutlookTreeHinzufuegen(Node,folder.folders);</PRE> <BR>
end;<BR>
///////////////////////////////////////////////<BR>
wenn ich zu konfus schreibe.. einfach nochmal nachfrage..
cu manu
Comment