А как послать книгу по мэйлу не прибегая к меню (программно)?

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
vladyank
Сообщения: 11
Зарегистрирован: 16 мар 2009, 16:13

А как послать книгу по мэйлу не прибегая к меню (программно)?
SendMail и его реквизиты как использовать, мне непонятно. Поделитесь опытом, плиз
Teslenko_EA
Сообщения: 526
Зарегистрирован: 04 фев 2007, 18:37
Откуда: Сургут
Контактная информация:

Здравствуйте vladyank.
с помощью Microsotf Outlook это можно выполнить так:

Код: Выделить всё

Sub sendWithMicrosotfOutlook()
Dim oMSOutlook As Object, oLetter As Object
On Error Resume Next
Set oMSOutlook = GetObject(, "Outlook.Application")
If Err.Number <> 0 Then
    Err.Clear
    Set oMSOutlook = CreateObject("Outlook.Application")
End If
Set oLetter = oMSOutlook.CreateItem(0)
With oLetter
    .To = "Адресат@почта.ру":    .Subject = "Тема":    .Body = "Сообщение"
    .Attachments.Add ThisWorkbook.Path + "\" + ThisWorkbook.Name
   ' .Send ' отправка
     .Save ' сохранение
End With
End Sub
Евгений.
vladyank
Сообщения: 11
Зарегистрирован: 16 мар 2009, 16:13

Благодарю, попробую :)


Teslenko_EA писал(а):Здравствуйте vladyank.
с помощью Microsotf Outlook это можно выполнить так:

Код: Выделить всё

Sub sendWithMicrosotfOutlook()
Dim oMSOutlook As Object, oLetter As Object
On Error Resume Next
Set oMSOutlook = GetObject(, "Outlook.Application")
If Err.Number <> 0 Then
    Err.Clear
    Set oMSOutlook = CreateObject("Outlook.Application")
End If
Set oLetter = oMSOutlook.CreateItem(0)
With oLetter
    .To = "Адресат@почта.ру":    .Subject = "Тема":    .Body = "Сообщение"
    .Attachments.Add ThisWorkbook.Path + "\" + ThisWorkbook.Name
   ' .Send ' отправка
     .Save ' сохранение
End With
End Sub
Евгений.
Аватара пользователя
VictorM
Сообщения: 794
Зарегистрирован: 23 окт 2006, 01:44
Откуда: Lugansk, Ukraine
Контактная информация:

Здравствуйте, уважаемые!!!
Для того, чтобы все это дело работало, необходимо подключить библиотеки "Microsoft Office xx Object Library" и "Microsoft Outlook xx Object Library". И если "Microsoft Office xx Object Library" у меня есть и подключена, то "Microsoft Outlook xx Object Library" я у себя что-то не вижу и естественно ничего не могу сделать.
Подскажите пожалуйста, в чем дело (Win Xp SP3, Excel 2003)
Спасибо!
"Дайте людям рыбы, и вы накормите их на весь день;
научите их ловить рыбу - и вы накормите их на всю жизнь".
Teslenko_EA
Сообщения: 526
Зарегистрирован: 04 фев 2007, 18:37
Откуда: Сургут
Контактная информация:

Здравствуйте VictorM.
проверьте список установленных приложений MS Office 2003, вполне возможно, что Microsoft Outlook не установлен.
Евгений.
Аватара пользователя
VictorM
Сообщения: 794
Зарегистрирован: 23 окт 2006, 01:44
Откуда: Lugansk, Ukraine
Контактная информация:

Здравствуйте, Teslenko_EA
Так и есть!))
Спасибо!!!
"Дайте людям рыбы, и вы накормите их на весь день;
научите их ловить рыбу - и вы накормите их на всю жизнь".
FlashManKazan
Сообщения: 2
Зарегистрирован: 13 сен 2009, 13:07

Всем, добрый день!
Воспользовался приведенным здесь кодом. Спасибо очень помогло.
У меня вопрос: при отправке нескольких писем подряд, Outlook каждый раз задает вопрос: типа в целях безопасности подтвердите, что это не вирус пытается письмо отослать и т.д., при этом нажать кнопку "Да" можно только через 5 секунд, когда 3 письма - это не страшно, но когда приходится отправлять по 100 писем в день, это очень утомительно. Подскажите, можно ли избавиться от этого запроса?
Ответить