Вопрос по VBA и Outlook 2003
Люди, подскажите кто шарит. Хочу отправить запрос с телефона емейлом роботу в VBA (Excel), чтобы прислал текущее состояние робота и системы.
Аутлук на компе принимает запрос (простой емейл с текстом в теле) и че дальше? как-то его надо считать в VBA. Где его искать и как? Кто что подскажет, как лучше сделать?
Отправлять из VBA как-то проще было…
30
Читайте на SMART-LAB:
Снижение военной премии в нефти: что это меняет для доллара и G10
Во второй половине понедельника – начале вторники рынки активно пересматривают премию за худший сценарий на энергетическом рынке, что цепочкой...
Обзор рынка облигаций
Если не считать бури вокруг Евротранса, то неделя прошла спокойно. Рынок продолжает взвешивать ситуацию с дефицитом бюджета и способами...
12 марта Группа Ренессанс страхование опубликует МСФО за 2025 год
Напоминаем, что 12 марта 2026 года RENI опубликует МСФО Группы за 2025 год, а также проведет День инвестора, чтобы рассказать о ситуации на...
Гендиректор Инарктики продал свои акции компании. Что это может значить?
Вечером в пятницу (6 марта ) вышел сущфакт о том, что Соснов Илья Геннадьевич, гендиректор Инарктики, продал свои акции компании. В нашем...
я бы сделал проще и устойчивее:
VBA проверяет папку с письмами по расписанию (каждую минуту например),
если появляется файл (письмо) с нужным содержанием, то отправляет Вам что надо.
А из Excel уже проверять его наличие.
Лучше поставить на комп и на мобильник приложение Dropbox с единым аккаунтом и роботом просто периодически сбрасывать файл в нужную папку на локальном компе. На телефоне файл автоматом синхронизируется и вы увидите состояние своего робота.
Опционально можно завести специальный файл для команд роботу.
ну можно и так конечно.
просто, быстро, бесконечно расширяемо, не нужно писать письма(небезопасные), минимум знаний.
намного безопаснее расшаривания папки на компе с роботом
особенно осознавая, что за этим стоит твой код,
каждую строчку которого ты понимаешь и знаешь.
А его наличие уже проверять из Excel VBA
… вот пример (находится за пару минут) с планеты эксель, почти все необходимое в нем есть:
Private Sub Application_NewMail()
Set myOlApp = Application
Set myNameSpace = myOlApp.GetNamespace(«MAPI»)
Set myFolder = myNameSpace.GetDefaultFolder(olFolderInbox)
Set myitem = myFolder.Items(myFolder.Items.Count)
If myitem.SenderName = «Нужный отправитель» Then
txt = myitem.Body
a = Split(txt, vbNewLine)
For i = 0 To UBound(a)
If InStr(1, a(i), «При трассировке пользователем») > 0 Then Stop: us = «FIO» ' тут необходимо распарсить нужный текст
If InStr(1, a(i), «сервер — клиент:») > 0 Then Stop: Ls = 123 ' тут необходимо распарсить нужный текст
If InStr(1, a(i), «клиент — сервер: „) > 0 Then Stop: UpLs = 123 ' тут необходимо распарсить нужный текст
If InStr(1, a(i), “тестовый объем: „) > 0 Then: dSize = 1234 ' тут необходимо распарсить нужный текст
Next
Set XL = CreateObject(“excel.application»)
XL.Visible = False
xlsFileName = «C:\test.xls» 'Путь к вашему файлу
Set b = XL.workbooks.Open(xlsFileName)
Set r = b.Application.Range(«DATA») 'имя вашей таблицы
i = r.rows.Count
r(i + 1, 1) = us
r(i + 1, 2) = Ls
r(i + 1, 3) = UpLs
r(i + 1, 4) = dSize
b.Close True
XL.Quit
End If
End Sub