Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.46 MB
Время: 0.056 c
8-1140432629
sco
2006-02-20 13:50
2006.08.20
Ускорение слайд-шоу


15-1153430789
Батя
2006-07-21 01:26
2006.08.20
Слова Благодарности


15-1153734381
PSPF2003
2006-07-24 13:46
2006.08.20
Ошибка в 17 строке


15-1153860806
Homo Sapiens
2006-07-26 00:53
2006.08.20
Часть исходника Windows XP!!!!!


1-1152085849
JohnnySE
2006-07-05 11:50
2006.08.20
работа с DLL и ее интерфейсами





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский