Как да изпращате имейли от електронна таблица на Excel с помощта на VBA скриптове

Как да изпращате имейли от електронна таблица на Excel с помощта на VBA скриптове

За изпращане на имейли от Microsoft Excel са необходими само няколко прости скрипта. Добавете тази функционалност към електронните си таблици и наистина можете да подобрите колко можете да постигнете в Excel.





Покрихме много страхотни макроси на Excel, които могат да постигнат същите неща, които могат да изпълняват VBA скриптовете, но без нужда от познания по програмиране. Но има много усъвършенствани неща, които можете да правите само с VBA, като създаване на доклад за електронна таблица с цялата информация за вашия компютър.





Предпочитате да гледате този урок като видео? Покриваме ви!





Защо да изпращате имейли от Excel?

Има много причини, поради които може да искате да изпратите имейл от Microsoft Excel.

Може би имате персонал, който актуализира документи или електронни таблици седмично и бихте искали да получавате известие по имейл, когато тези актуализации са извършени. Или може да имате електронна таблица с контакти и искате да изпратите един имейл до всички наведнъж.



Вероятно си мислите, че създаването на скриптове за излъчване по имейл от Excel ще бъде сложно. Това изобщо не е така.

Техниката в тази статия ще използва функция, която е налична в Excel VBA от дълго време, Обекти на данни за сътрудничество (CDO).





CDO е компонент за съобщения, използван в Windows от много ранни поколения на операционната система. Преди се наричаше CDONTS, а след това с появата на Windows 2000 и XP бе заменен с „CDO за Windows 2000“. Този компонент вече е включен във вашата VBA инсталация в Microsoft Word или Excel и е готов за употреба.

Използването на компонента прави изпращането на имейли от продуктите на Windows с VBA изключително лесно. В този пример ще използвате компонента CDO в Excel, за да изпратите имейл, който ще достави резултатите от конкретна клетка на Excel.





Стъпка 1: Създайте VBA макрос

Първата стъпка е да отидете в раздела Excel Developer.

В раздела Разработчик кликнете върху Вмъкване в полето Контроли и след това изберете команден бутон.

Начертайте го в листа и след това създайте нов макрос за него, като щракнете върху Макроси в лентата за програмисти.

Когато щракнете върху Създайте бутон, той ще отвори VBA редактора.

Добавете препратката към библиотеката на CDO, като отворите до Инструменти > Препратки в редактора.

Превъртете надолу по списъка, докато намерите Библиотека на Microsoft CDO за Windows 2000 . Поставете отметка в квадратчето и щракнете Добре .

Когато щракнете Добре , отбележете името на функцията, в която поставяте скрипта. Ще ви трябва по -късно.

Стъпка 2: Настройте CDO полета „От“ и „До“

За да направите това, първо трябва да създадете пощенските обекти и да настроите всички полета, необходими за изпращане на имейла.

Имайте предвид, че въпреки че много от полетата са незадължителни, От и Да се полетата са задължителни.

ябълков часовник от алуминий или неръждаема стомана
Dim CDO_Mail As Object
Dim CDO_Config As Object
Dim SMTP_Config As Variant
Dim strSubject As String
Dim strFrom As String
Dim strTo As String
Dim strCc As String
Dim strBcc As String
Dim strBody As String
strSubject = 'Results from Excel Spreadsheet'
strFrom = 'rdube02@gmail.com'
strTo = 'rdube02@gmail.com'
strCc = ''
strBcc = ''
strBody = 'The total results for this quarter are: ' & Str(Sheet1.Cells(2, 1))

Готиното в това е, че можете да създадете всеки низ, който искате да персонализирате, пълно имейл съобщение и да го присвоите на strBody променлива.

Съберете компоненти на съобщението, като използвате & низ, за ​​да вмъкнете данни от всеки от листовете на Microsoft Excel направо в имейл съобщението, точно както е показано по -горе.

Стъпка 3: Конфигурирайте CDO за използване на външен SMTP

Следващият раздел на кода е мястото, където ще конфигурирате CDO да използва всеки външен SMTP сървър за изпращане на имейла.

Този пример е настройка без SSL чрез Gmail. CDO може да използва SSL, но това е извън обхвата на тази статия. Ако трябва да използвате SSL, това разширен код в Github мога да помогна.

Set CDO_Mail = CreateObject('CDO.Message')
On Error GoTo Error_Handling
Set CDO_Config = CreateObject('CDO.Configuration')
CDO_Config.Load -1
Set SMTP_Config = CDO_Config.Fields
With SMTP_Config
.Item('http://schemas.microsoft.com/cdo/configuration/sendusing') = 2
.Item('http://schemas.microsoft.com/cdo/configuration/smtpserver') = 'smtp.gmail.com'
.Item('http://schemas.microsoft.com/cdo/configuration/smtpauthenticate') = 1
.Item('http://schemas.microsoft.com/cdo/configuration/sendusername') = 'email@website.com'
.Item('http://schemas.microsoft.com/cdo/configuration/sendpassword') = 'password'
.Item('http://schemas.microsoft.com/cdo/configuration/smtpserverport') = 25
.Item('http://schemas.microsoft.com/cdo/configuration/smtpusessl') = True
.Update
End With
With CDO_Mail
Set .Configuration = CDO_Config
End With

Стъпка 4: Завършете настройката на CDO

След като сте конфигурирали връзката към SMTP сървъра за изпращане на имейла, всичко, което трябва да направите, е да попълните съответните полета за CDO_Mail обект , и издайте Изпрати команда.

Ето как го правите:

CDO_Mail.Subject = strSubject
CDO_Mail.From = strFrom
CDO_Mail.To = strTo
CDO_Mail.TextBody = strBody
CDO_Mail.CC = strCc
CDO_Mail.BCC = strBcc
CDO_Mail.Send
Error_Handling:
If Err.Description '' Then MsgBox Err.Description

Няма да има изскачащи кутии или съобщения за предупреждение за сигурност, което може да се случи, когато прибягвате до използването на пощенския обект на Outlook.

CDO просто събира имейла и използва данните за връзката на вашия SMTP сървър, за да задейства съобщението. Това е най -лесният начин да включите имейл в Microsoft Word или Excel VBA скриптове.

За да свържете командния си бутон с този скрипт, влезте в редактора на кодове и кликнете върху Лист 1 за да видите VBA кода за този работен лист.

Въведете името на функцията, където сте поставили скрипта по -горе.

как да импортирате контакти във facebook в gmail

Ето как изглеждаше съобщението, което получих във входящата си поща:

Забележка : Ако получите грешка, която чете Транспортът не успя да се свърже със сървъра , уверете се, че сте въвели правилното потребителско име, парола, SMTP сървър и номер на порт в редовете на кода, изброени по -долу Със SMTP_Config .

Вземете го по -нататък и автоматизирайте целия процес

Всичко е наред с възможността да изпращате имейли от Excel с едно натискане на бутон. Може обаче да искате да използвате тази функционалност редовно, като в този случай би имало смисъл да автоматизирате процеса.

За да направите това, ще трябва да направите промяна в макроса. Отидете до редактора на Visual Basic и копирайте и поставете целия код, който сме събрали.

След това изберете Тази работна книга от Проект йерархия.

От двете падащи полета в горната част на кодовия прозорец изберете Работна тетрадка и изберете Отворено от падащото меню Методи.

Поставете скрипта за имейл по -горе в Private Sub Workbook_Open () .

Това ще стартира макроса всеки път, когато отворите файла на Excel.

След това отворете Планировчик на задачи .

Ще използвате този инструмент, за да помолите Windows да отваря електронната таблица автоматично на редовни интервали, след което вашият макрос ще бъде иницииран, изпращайки имейла.

Изберете Създаване на основна задача ... от Действие менюто и прокарайте своя път през съветника, докато стигнете до Действие екран.

Изберете Стартирайте програма и щракнете Следващия .

Използвай Преглед бутон, за да намерите местоположението на Microsoft Excel на вашия компютър, или копирайте и поставете пътя в Програма/скрипт поле.

След това въведете пътя към вашия документ Microsoft Excel в Добавете аргументи поле.

Попълнете съветника и вашият график ще бъде на място.

Струва си да проведете тест, като планирате действието за няколко минути в бъдеще, след което промените задачата, след като можете да потвърдите, че тя работи.

Забележка : Може да се наложи да коригирате настройките на Центъра за доверие, за да сте сигурни, че макросът работи правилно.

За да направите това, отворете електронната таблица и отидете до Файл > Настроики > Център за доверие .

От тук щракнете Настройки на центъра за доверие , и на следващия екран настройте копчето за радио на Никога не показвайте информация за блокирано съдържание .

Накарайте Microsoft Excel да работи за вас

Microsoft Excel е невероятно мощен инструмент, но научаването как да извлечете максимума от него може да бъде малко плашещо. Ако искате наистина да овладеете софтуера, трябва да бъдете удобно с VBA , и това не е малка задача.

как да инсталирате приложения на visio smart tv

Резултатите обаче говорят сами за себе си. С малко опит в VBA под колана, скоро ще можете да накарате Microsoft Excel да изпълнява автоматично основните задачи автоматично, което ви дава повече време да се концентрирате върху по -належащи въпроси.

Необходимо е време за изграждане на експертен опит с VBA, но скоро ще видите плодовете на вашия труд, ако успеете да се придържате към него.

Едно чудесно начало е нашият авторитетен урок за използване на VBA в Excel . След като приключите с това, този прост скрипт за изпращане на имейли от Excel ще се почувства като детска игра.

Дял Дял Туит електронна поща Canon срещу Nikon: Коя марка фотоапарат е по -добра?

Canon и Nikon са двете най -големи имена в камерата. Но коя марка предлага по -добрата гама от фотоапарати и обективи?

Прочетете Напред
Свързани теми
  • Производителност
  • Програмиране
  • Съвети по имейл
  • Програмиране
  • Visual Basic програмиране
  • Microsoft Excel
  • Съвети за Microsoft Office
За автора Райън Дубе(942 публикувани статии)

Райън има бакалавърска степен по електротехника. Той е работил 13 години в областта на автоматизацията, 5 години в областта на информационните технологии, а сега е инженер по приложения. Бивш управляващ редактор на MakeUseOf, той говори на национални конференции за визуализация на данни и е включен в националната телевизия и радио.

Още от Райън Дубе

Абонирайте се за нашия бюлетин

Присъединете се към нашия бюлетин за технически съвети, рецензии, безплатни електронни книги и изключителни оферти!

Щракнете тук, за да се абонирате