Форум: "Начинающим";
Текущий архив: 2006.08.20;
Скачать: [xml.tar.bz2];
ВнизMS Outlook Найти похожие ветки
← →
Destroyer © (2006-07-31 12:51) [0]Пишу программку клинер, для очистки всего что нужно нажатием нескольких кнопок. Нужно удалить\очистить все письма в Аутлуке (не экспресс). Все письма хранятся в файле *.pst, но при его удалении Аутлук начинает его искать и не находит (новый не создается). Может есть функции для управления письмами? Как такое осуществить?
← →
Max Zyuzin © (2006-07-31 12:55) [1]>Destroyer © (31.07.06 12:51)
Велосипед изобретаем?
1. Таких програм уже написано, перенаписано...
2. Если бы такой вот клинер завалил бы мне всю мою переписку я бы наверное кого нить задушил бы :-)
← →
Destroyer © (2006-07-31 15:48) [2]Max Zyuzin, нет не велосипед, дело в том, что программа не только для почты, это только ее раздел. А пользователь сам будет выбирать что и когда он хочет стереть. Сейчас вопрос стоит именно по MS Outlook.
Почитал про COM объекты и про OLE. Как я понял, эту задачу можно осуществит двумя способами. Так? Если так, то далее - вопрос о полной автоматизации, в каком из способов проще избежать сообщений защиты Аутлука?
← →
Destroyer © (2006-07-31 19:51) [3]Такой вопрос. Использую стандартный компонент OutlookApplication.
Вот код:var
Inbox: MAPIFolder;
NameSpace: _NameSpace;
i,j: integer;
str: string;
FolderCount: integer;
Folder: MAPIFolder;
OutlookApplication1.Connect;
NameSpace:=OutlookApplication1.GetNamespace("MAPI");
Inbox:=NameSpace.GetDefaultFolder(olFolderInbox);
// получим количество папок
FolderCount:=NameSpace.Folders.Count;
// пройдемся по всем папкам
for j:=1 to FolderCount do
begin
Folder:=NameSpace.Folders.Item(j);
Mainform.Memo2.Lines.Add(Folder.Name);
for i:=0 to Folder.Items.Count do
begin
Mainform.Memo2.Lines.Add(Folder.Name);
end;
end;
Получаем в мемо названия личных папок уч. записей. А хотелось бы получить папки (Входящие, исходящие, Черновики,...)для каждой уч. записи и в каждой папке перечисление всех писем. Как это осуществить?
← →
Destroyer © (2006-08-01 11:02) [4]Такой вопрос.
Вот этот код возвращает имена папок Входящие и т.д.var
outlook, NameSpace, Folder: OLEVariant;
FolderName:string;
begin
outlook := CreateOleObject("Outlook.Application");
NameSpace := outlook.GetNameSpace("MAPI");
Folder:=NameSpace.Folders;
FolderName:=Folder.Item[i].Name;
end;
А этот названия общих папока (Личные папки, ...)var
NameSpace: _NameSpace;
i: integer;
CurFolder:_Folders;
begin
OutlookApplication1.Connect;
NameSpace:=OutlookApplication1.GetNamespace("MAPI");
CurFolder:=NameSpace.Folders;
i:=CurFolder.Count;
Mainform.Memo2.Lines.Add(CurFolder.Item(1).Name);
end;
В чем же разница? Почему так? И где бы найти описание всех OLE команд (компилятор не показывает их)?
← →
Destroyer © (2006-08-01 16:21) [5]Всем спасибо. Разобрался
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.08.20;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.041 c