VBA | Отправить почту из Excel
Не хватает знаний :( решить задачку:
есть ффункция или метод (не знаю как правильно) InputBox, которая показывает окно, где можно ввести информацию. Вопрос: как эту информацию можно отправить по почте и как вообще эту инфу вытянуть для дальнейшего использования? |
a=InpitBox()
Введенное значение присваивается переменной а. По почте тоже можно переслать, но должен быть установлен компонент Microsoft Outlook. Поищи SendMail в справке Microsoft Visual Basic в Excel - там написано. |
спасибо, попробую
|
Что то не получается отправить по почте.
Усли писать вида A.SendMail () - выдает какието ошибки, а если ActiveWorkbook.SendMail () , то естессно отправляет всю книгу. А нужно отправить только значение А. И ещё: при отправке выскакивает табличка, которая предупреждает об отправке и надо нажимать ОК. Как её обойти или сделать чтобы ОК само нажималось |
Вот тебе листинг по этому поводу из книги по VB.
Пройдет-ли это в VBA на Экселе - не знаю. Извлеки нужное и пробуй. '************************************************************** ' Посылает почтовое сообщение, используя Outlook. '************************************************************** Public Sub SendMail(strTo As String, strSubject As String, _ strMessageText As String, Optional strCC As String, _ Optional vntAttachmentPath As Variant) Dim i As Integer '********************************************************** ' С помощью объекта Outlook... '********************************************************** With Outlook '****************************************************** ' Создать новый объект MailItem... '****************************************************** With .CreateItem(olMailItem) '************************************************** ' Установить свойства этого объекта, используя ' имеющиеся аргументы. '************************************************** .To = strTo .CC = strCC .Subject = strSubject '************************************************** ' Добавить два символа перевода строки, ' чтобы имена присоединенных файлов были отделены ' от предыдущего текста пустой строкой. '************************************************** .Body = strMessageText & vbCrLf & vbCrLf '************************************************** ' Имена присоединенных файлов должны быть переданы ' в виде массива Variant с указанием путей ' к файлам, поэтому добавьте эти имена ' к собранию Attachments в этом объекте MailItem. '************************************************** If IsArray(vntAttachmentPath) Then For i = 0 To UBound(vntAttachmentPath) .Attachments.Add vntAttachmentPath(i), , Len(.Body) Next i End If '************************************************** ' ' Отправить объект MailItem. '************************************************** .Send End With End With End Sub А про ОК попробуй Application.DisplayAlerts = False, а после отправки Application.DisplayAlerts = True |
Время: 07:04. |
Время: 07:04.
© OSzone.net 2001-