Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.08.20;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.08 c
2-1154375035
Damager
2006-07-31 23:43
2006.08.20
Дочерние формы. Прорисовка.


3-1150448620
sid_m
2006-06-16 13:03
2006.08.20
Удаленный вызов хранимой процедуры


10-1122618895
Elvis
2005-07-29 10:34
2006.08.20
Создание DLL библиотеке с COM обьектом


15-1152160956
vidiv
2006-07-06 08:42
2006.08.20
Как в iPod Nano залить музыку без участия его спец. проги?


1-1152193172
kvi
2006-07-06 17:39
2006.08.20
getlasterror