IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

> Данные из Outlook, как достать? :)
striker
сообщение 25.08.2009 11:14
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 86
Пол: Мужской

Репутация: -  0  +


Нужно достать из аутлука в текстовый файл некоторые данные, а именно: кому,от кого, время отправления, первая строка письма

Т.е программа должна это делать. Как из него вытащить информацию?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 27.08.2009 22:15
Сообщение #2


Гость






Цитата
И нужен реальный e-mail
Ну, тогда тестируй... У меня работает вроде:
procedure TForm1.OutlookClick(Sender: TObject);
var
i: Integer;
myOutlookApp: TOutlookApplication;

mailItem, objReply: OutlookXP.MailItem;
objRecips: OutlookXP.Recipients;

iCount: Integer;
s, s_addr, firstLine: string;
sL: TStringList;
begin
// пытаемся подключиться к существующей копии Outlook-а
// Если не получится - сообщим, что Outlook не запущен, и все...
myOutlookApp := TOutlookApplication.Create(nil);
myOutlookApp.ConnectKind := ckRunningInstance;

try
myOutlookApp.Connect;
except
ShowMessage('Нет запущенной копии MS Outlook');
myOutlookApp.Free; Exit;
end;

// Хм... Все-таки, запущен. Проходим по всем выбранным письмам
// (их может быть больше одного), и собираем необходимые данные.
// Для того, чтобы получить адрес - пойдем на хитрость: создадим
// письмо - ответ (Reply), Outlook в список получателей занесет того,
// от кого письмо пришло, считаем это значение, и... не будем ничего
// отправлять...

for iCount := 1 to myOutlookApp.ActiveExplorer.Selection.Count do
begin
mailItem := myOutlookApp.ActiveExplorer.Selection.Item(iCount) as _MailItem;

objReply := mailItem.Reply;
objRecips := objReply.Recipients;
s_addr := '';
for i := 1 to objRecips.Count do
begin
s_addr := s_addr + objRecips.Item(i).Address;
end;

// Конечно, выделить первую строку из mailItem.Body можно и по-другому,
// но мы ж не ищем легких путей...
sL := TStringList.Create;
try
sL.DelimitedText := StringReplace(mailItem.Body, ' ', '&prob;', [rfReplaceAll]);
firstLine := StringReplace(sL.Strings[0], '&prob;', ' ', [rfReplaceAll]);
finally
sL.Free;
end;

s := Format('From/To %s <%s> : "%s", sent: %s',
[mailItem.SenderName, s_addr, firstLine, DateToStr(mailItem.SentOn)]);
ShowMessage(s);
end;

// Все, закончили. Чтоб не было утечки памяти, отключаемся и удаляем объект
// (не волнуйся, та копия MS Outlook, что была запущена, продолжает работать)
myOutlookApp.Disconnect;
myOutlookApp.Free;
end;
В файл запишешь уже сам, наверное...
 К началу страницы 
+ Ответить 

Сообщений в этой теме
striker   Данные из Outlook   25.08.2009 11:14
volvo   "DRKB -> ActiveX, COM и Другие технологии ...   25.08.2009 12:19
striker   Единственное пока что там нашёл это как считать ад...   25.08.2009 15:21
volvo   Ну, проверить я ничего связанного с MS Outlook не ...   25.08.2009 18:16
volvo   Так... Нашел компьютер с Аутлуком и Дельфи одновре...   25.08.2009 19:56
striker   Я тоже Аутлуком не пользуюсь и не пользовался нико...   26.08.2009 13:41
striker   volvo, больше ничего не нашёл?   27.08.2009 7:50
Unconnected   Так Volvo тебе уже подсказал всё, что нужно:) Нем...   27.08.2009 9:21
volvo   Погоди... Тебе что, надо, чтобы было так: пользова...   27.08.2009 10:17
Unconnected   А в im.SenderName какой E-mail? Или просто имя о...   27.08.2009 11:32
volvo   Там просто имя отправителя.   27.08.2009 11:48
striker   Да И нужен реальный e-mail :(   27.08.2009 15:22
Unconnected   Реальный, в Оутлуке, если не ошибаюсь, аж в свойст...   27.08.2009 22:11
volvo   Ну, тогда тестируй... У меня работает вроде: proce...   27.08.2009 22:15
striker   Спасибо, всё работает оч. хорошо. Время я ещё доба...   31.08.2009 12:01
volvo   Угу... Значит, проверяй, в какой папке находишься,...   31.08.2009 12:45
striker   Если будет возможность - посмотри, пожалуйста. Вр...   31.08.2009 14:02
volvo   Навскидку (проверь, работает ли) - смотреть, что в...   31.08.2009 14:18
striker   Да, работает только пишет адрес правильный "к...   31.08.2009 21:27
Unconnected   Возможно, так и должно быть, типа objRecips.Item...   31.08.2009 21:39
volvo   procedure TForm1.OutlookClick(Sender: TObject); va...   31.08.2009 21:57


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 8.07.2025 16:56
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"