Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
vav

Автообработка вложений в Outlook|OutlookExpress

28.11.2007, 12:43. Показов 2340. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Возникла необходимость автообработки вложений в емале Outlook|OutlookExpress, но нет опыта.
Подскажите как это делается на ВБ.
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.11.2007, 12:43
Ответы с готовыми решениями:

Связь с OutlookExpress из VB
Прошу помощи!!! Как юзать OutlookExpress(добавить в адресную книгу или просто запустить его) из VB6 Как с Outlook неполучаеться.

Обработка вложений Outlook
Всем доброго времени суток! Имеется следующая задача: С определенной периодичностью на почтовый ящик приходит письмо с вложенным...

Получение вложений в outlook
Добрый день. Пытаюсь создать скрипт для вставки в правило с целью получения вложенных файлов в папку на диске. Sub Save_att(It As...

8
0 / 0 / 0
Регистрация: 05.12.2006
Сообщений: 19
28.11.2007, 15:15
Только сохранив на диске.
Set myOlApp = CreateObject('Outlook.Application')
Set myNamespace = myOlApp.GetNamespace('MAPI')
Set myFolder =_ myNamespace.GetDefaultFolder(olFolderInb ox)
Set myItem = myFolder.Items(2) 'или вместо 2 subject письма
Set myAttch =myItem.Attachments
myAttch.Item(1).SaveAsFile 'C:My Documents ' & _
myAttch.Item(1).DisplayName
что-то типа того только сначала проверяй myAttch.count
0
vav
29.11.2007, 13:14
У меня есть следующий код:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
Dim OLApp As Application
Dim mNameSpace As NameSpace
'Dim mFolder As MAPIFolder
Dim AllMessages As Items
 
Private Sub Command1_Click()
    OLApp.Quit
    Set OLApp = Nothing
    End
End Sub
 
Private Sub Form_Load()
Dim thismessage  As MailItem
 
    Me.Show
    Screen.MousePointer = vbHourglass
On Error GoTo OutlookNotStarted
    Set OLApp = CreateObject('Outlook.Application')
On Error GoTo NoMAPINameSpace
    Set mNameSpace = OLApp.GetNamespace('MAPI')
    Set AllMessages = mNameSpace.GetDefaultFolder(olFolderInbox).Items
    MSFlexGrid1.ColWidth(0) = MSFlexGrid1.Width * 0.3
    MSFlexGrid1.ColWidth(1) = MSFlexGrid1.Width * 0.5
    MSFlexGrid1.ColWidth(2) = MSFlexGrid1.Width * 0.2
    MSFlexGrid1.Row = 0
    MSFlexGrid1.Col = 0: MSFlexGrid1.Text = 'Sender'
    MSFlexGrid1.Col = 1: MSFlexGrid1.Text = 'Subject'
    MSFlexGrid1.Col = 2: MSFlexGrid1.Text = 'Date sent'
    For Each thismessage In AllMessages
        MSFlexGrid1.Row = MSFlexGrid1.Row + 1
        MSFlexGrid1.Col = 0
        MSFlexGrid1.Text = thismessage.SenderName
        MSFlexGrid1.Col = 1
        MSFlexGrid1.Text = thismessage.Subject
        MSFlexGrid1.Col = 2
        MSFlexGrid1.Text = thismessage.SentOn
    Next
    Screen.MousePointer = vbDefault
    Exit Sub
    
OutlookNotStarted:
    MsgBox 'Could not start Outlook'
    Screen.MousePointer = vbDefault
    Exit Sub
NoMAPINameSpace:
    MsgBox 'Could not get MAPI NameSpace'
    Screen.MousePointer = vbDefault
    Exit Sub
End Sub
 
Private Sub MSFlexGrid1_Click()
Dim thismessage As MailItem
    currentrow = MSFlexGrid1.Row
    MSFlexGrid1.Col = 0
    MSFlexGrid1.ColSel = 2
    Set thismessage = AllMessages.Item(currentrow)
    txtBody.Text = ' ' & thismessage.Body
End Sub
из книги Visal Basic и VBA для профессионалов, на компе
стоит Windows95+IE5 и MOffice97.
Данные из Outlook даже не загружаются, в чем м.б. причина?
0 / 0 / 0
Регистрация: 05.12.2006
Сообщений: 19
29.11.2007, 13:49
Не забыл поставить референс на объектную модель оутлук? и флексгрид задай необходимое кол-во строк. Попробуй использ. Set OLApp = GetObject(, 'Outlook.Application'), предварительно запустив оутлук.
0
0 / 0 / 0
Регистрация: 03.12.2007
Сообщений: 16
08.12.2007, 23:57
V Outlook kak zalezt' vezde napisanno.
Mozhet kto slyshal kak v OE raskusit'.
0
vav
12.12.2007, 09:32
Во-во, сам бы хотел знать. Но и с Отлук пока проблем хватает - м.б. кто знает как проще фильтровать сообщения по дате (.item.restrict интересно тут не поможет, если да то как).
0 / 0 / 0
Регистрация: 09.12.2007
Сообщений: 8
12.12.2007, 11:39
Лучше использовать MSMAPI, Outlook.Application требует наличие MS Outlook из офиса на клиенте, а MSMAPI умеет взаимодействовать с MS Outlook Express и с MS Outlook из MS Office. Далее пример кода:

Dim MessageCtrl ' элемент управления MAPIMessages Control
Dim SessionCtrl ' элемент управления MAPISession Control
Set SessionCtrl = CreateObject('MSMAPI.MAPISession')
If Err.Number <> 0 Then ' если невозможно инициализировать элемент управления - закрыть диалог
MsgBox 'Error # ' & CStr(Err.Number) & vbLf & err.Description
Err.Clear ' Очистить ошибку
Unload vbCancel ' закрыть диалог
End If
Set MessageCtrl = CreateObject('MSMAPI.MAPIMessages')
SessionCtrl.DownloadMail = False ' не получать почту при подключении
SessionCtrl.SignOn ' установить сессию
MessageCtrl.SessionID = SessionCtrl.SessionID ' установить соответствие между элементами управления
MessageCtrl.Compose ' подготовка к созданию нового сообщения
MessageCtrl.RecipAddress = 'user@domain.com'
MessageCtrl.MsgSubject = 'Subject'
MessageCtrl.MsgNoteText = 'Message body'
'Дальше собственно атачи можно лепить, читай MSDN
MessageCtrl.Send False ' отправить

Собственно и все!
0
0 / 0 / 0
Регистрация: 09.12.2007
Сообщений: 8
12.12.2007, 12:33
Sorry, просили обработку
Dim MessageCtrl ' элемент управления MAPIMessages Control
Dim SessionCtrl ' элемент управления MAPISession Control
Set SessionCtrl = CreateObject('MSMAPI.MAPISession')
On Error Resume Next ' включить обработку ошибок выполнения
If Err.Number <> 0 Then ' если невозможно инициализировать элемент управления - закрыть диалог
MsgBox 'Error # ' & CStr(Err.Number) & vbLf & err.Description
Err.Clear ' Очистить ошибку
Unload vbCancel ' закрыть диалог
End If
Set MessageCtrl = CreateObject('MSMAPI.MAPIMessages')
SessionCtrl.DownloadMail = bCheckMail ' получать ли почту при запуске диалога
SessionCtrl.SignOn ' установить соединение
MessageCtrl.SessionID = SessionCtrl.SessionID ' установить соответствие между элементами управления
With MessageCtrl
For i=0 To .MsgCount-1 ' Переберем все сообщения
.MsgOrigDisplayName 'Адрес
.MsgSubject 'Тема
.MsgDateReceived ' дата
.MsgID ' код почтового сообщения
.MsgNoteText 'Тело
Next
End With
И обрабатывай как хочешь
0
0 / 0 / 0
Регистрация: 03.12.2007
Сообщений: 16
04.02.2008, 19:21
Hi. U menja vopros k prodolzheniju temy. osobenno k VGooz Poproboval tvoj kod s MSMAPI, no on trebuet nalichaja outlook, posmotri vnimatel'nee kogda ty zapuskaesh MSMAPI , zapuskaetsja Outlook i mozhno videt' , chto messages peredaetsja v Outbox i kak ty tam nastrevaeshsja na SMTP Server? .
Tak vot vopros v sledueschem: Ljudi, kto znaet kak otsylat' message na kuchu adressov, no prietom ne ispol'zovav nikakoj mailClient? Winsock mozhet u menja est' kod , no ja ne mogu s nim otoslat' odno soobschenie kuche klientov, poluchaetsja pridetsja delat' takujuzhe kuchu soobschenij, no ne hocetsja.
U kogo est' mysli Help me plz.!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.02.2008, 19:21
Помогаю со студенческими работами здесь

Outlook. Автоматическое сохранение вложений
Для автоматического сохранения вложений при приеме новых писем у меня поставлен следующий макрос: Private Sub Application_NewMail() ...

Скрипт на сохранение вложений outlook
Добрый день, друзья! нужна помощь! нужен vbs скрипт, который будет в оутлуке искать письма от определенных людей(напрмер от...

Режим отображения вложений в Outlook 2016
Можно ли сделать чтобы вложения отображались так, как это было в 2010/2013 Outlook? С отображением полных имен, а не так как сейчас:

Сохранение всех вложений текущего сообщения в Outlook
Здравствуйте! Нужно сохранить все вложения текущего письма, т.е. на котором стою. Нашел как сделать для выделенных нескольких...

Макрос для массовой распечатки вложений Outlook
Всем привет, Я когда-то учил Java и PHP, так что могу понять логику несложного скрипта, но тут мне нужна ваша помощь ребята. И...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru