Овај водич ће вам показати како да шаљете е -пошту из програма Екцел преко Гмаила користећи ВБА.
Додавање Мицрософт ЦДО референце
Да бисте дозволили Екцелу да шаље е -пошту путем Гмаила, прво морате додати библиотеку референци ЦДО у свој Екцел пројекат.
У ВБА Едитор -у кликните на Тоолс, Референце.
Потражите Мицрософт ЦДО Референце и кликните на ОК.
Слање е -поште путем ГМаил -а
Да бисте послали е -пошту из програма Екцел преко Гмаила, прво морате да декларишете ЦДО објекат (Затамните гМаил као ЦДО.Мессаге).
Друго, требало би да конфигуришете ССЛ потврду идентитета за своју поруку у свом коду. То значи да морате поставити СМТП сервер и детаље о порту да би ваша е -пошта исправно пролазила, као и поставити корисничко име и лозинку.
У исечку кода испод, ово је оно што вам треба на почетку Екцел функције. Потребан вам је прималац е -поште (стрТо) и предмет (стрСубјецт), али ЦЦ и тело е -поште могу бити опционе променљиве.
12345678910111213141516171819202122232425262728 | Функција ЦреатеЕмаил (стрТо Ас Стринг, стрСубјецт Ас Стринг, Оптионал стрЦЦ Ас Стринг, Оптионал стрБоди Ас Стринг)'створити ЦДО објектДим гМаил Ас ЦДО.МессагеПодесите гМаил = Нова ЦДО.Порука'Омогући ССЛ аутентикацијугМаил.Цонфигуратион.Фиелдс.Итем _("хттп://сцхемас.мицрософт.цом/цдо/цонфигуратион/смтпусессл") = Тачно'Омогући омогућавање СМТП аутентикације = тачно (1)гМаил.Цонфигуратион.Фиелдс.Итем _("хттп://сцхемас.мицрософт.цом/цдо/цонфигуратион/смтпаутхентицате") = 1'Подесите детаље о СМТП серверу и португМаил.Цонфигуратион.Фиелдс.Итем _("хттп://сцхемас.мицрософт.цом/цдо/цонфигуратион/смтпсервер") = "смтп.гмаил.цом"гМаил.Цонфигуратион.Фиелдс.Итем _ ("хттп://сцхемас.мицрософт.цом/цдо/цонфигуратион/смтпсерверпорт") = 25гМаил.Цонфигуратион.Фиелдс.Итем _ ("хттп://сцхемас.мицрософт.цом/цдо/цонфигуратион/сендусинг") = 2„Овде поставите своје корисничко име и лозинку за свој гмаил налоггМаил.Цонфигуратион.Фиелдс.Итем _("хттп://сцхемас.мицрософт.цом/цдо/цонфигуратион/сендусернаме") = "јохнсмитх@гмаил.цом"гМаил.Цонфигуратион.Фиелдс.Итем _("хттп://сцхемас.мицрософт.цом/цдо/цонфигуратион/сендпассворд") = "*********"'Ажурирајте поља за конфигурацијугМаил.Цонфигуратион.Фиелдс.Упдате |
Када то учините, можете креирати своју е -пошту и довршити функцију.
123456789 | 'подесите својства е -поште и датотеку за слањеСа гМаил .Субјецт = "Овде напишите тему".Фром = "ститцхмел@гмаил.цом".То = стрТо.ТектБоди = стрБодиЗавршити'за слање поштегМаил.СендЗавршна функција |
Затим можете позвати своју функцију помоћу следећег кода
1234567 | Суб СендЕмаил'креирајте тело е -поштеЗатамните стрТект као стрингстрТект = "Добро јутро. Надам се да сте добро - ово је пробна порука е -поште"'попуните аргументе функције - оставите ЦЦ празан па ставите зарез као чувар местаЦреатеЕмаил ("јим.смитх@гмаил.цом", "Тест Емаил",, стрТект)Енд суб |
Слање радне свеске путем ГМаил -а
Да бисте послали радну свеску као прилог путем ГМаила, можете да креирате функцију сличну оној горе са неколико додатака.
Морате додати код да бисте изабрали радну свеску, а затим морате приложити изабрану датотеку е -пошти.
Користићемо Мицрософт Оффице ФилеДиалог наредбу за одабир датотеке за слање, а затим користите Додај прилог својство е -поште да дода датотеку као прилог.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 | Функција СендВоркбоок (стрТо Ас Стринг, стрСубјецт Ас Стринг, Оптионал стрЦЦ Ас Стринг, Оптионал стрБоди Ас Стринг) Као логичкоНа грешку иди ех:'створити ЦДО објектДим гМаил Ас ЦДО.МессагеПоставите гМаил = Нови ЦДО.Порука'Омогући ССЛ аутентикацијугМаил.Цонфигуратион.Фиелдс.Итем _("хттп://сцхемас.мицрософт.цом/цдо/цонфигуратион/смтпусессл") = Тачно'Омогући омогућавање СМТП аутентикације = тачно (1)гМаил.Цонфигуратион.Фиелдс.Итем _("хттп://сцхемас.мицрософт.цом/цдо/цонфигуратион/смтпаутхентицате") = 1'Подесите детаље о СМТП серверу и португМаил.Цонфигуратион.Фиелдс.Итем _("хттп://сцхемас.мицрософт.цом/цдо/цонфигуратион/смтпсервер") = "смтп.гмаил.цом"гМаил.Цонфигуратион.Фиелдс.Итем _("хттп://сцхемас.мицрософт.цом/цдо/цонфигуратион/смтпсерверпорт") = 25гМаил.Цонфигуратион.Фиелдс.Итем _("хттп://сцхемас.мицрософт.цом/цдо/цонфигуратион/сендусинг") = 2„Овде поставите своје корисничко име и лозинку за свој гмаил налоггМаил.Цонфигуратион.Фиелдс.Итем _("хттп://сцхемас.мицрософт.цом/цдо/цонфигуратион/сендусернаме") = "јохнсмитх@гмаил.цом"гМаил.Цонфигуратион.Фиелдс.Итем _("хттп://сцхемас.мицрософт.цом/цдо/цонфигуратион/сендпассворд") = "*********"'Ажурирајте поља за конфигурацијугМаил.Цонфигуратион.Фиелдс.Упдате'изаберите датотеку за слање у дијалогу за датотеку мицрософтДим стрФилеТоСенд Ас СтрингДим длгФиле Ас ФилеДиалогДим стрИтем Ас ВариантДим нДлгРесулт Ас ЛонгПостави длгФиле = Апплицатион.ФилеДиалог (мсоФилеДиалогФилеПицкер)'филтер само за екцел и цсв датотекедлгФиле.Филтерс.Адд "Екцел Филес", " *.цсв; *.клс; *.клск; *.клсм"нДлгРесулт = длгФиле.СховАко је нДлгРесулт = -1 ТадаАко је длгФиле.СелецтедИтемс.Цоунт> 0 ЗатимЗа сваки стрИтем у длгФиле.СелецтедИтемсстрФилеТоСенд = стрИтемНект стрИтемКрај АкоКрај Ако'подесите својства е -поште и датотеку за слањеСа гМаил -ом.Субјецт = "Овде напишите тему".Фром = "ститцхмел@гмаил.цом".То = стрТо.ТектБоди = стрБоди'додати изабрану датотеку као прилог.АддАттацхмент стрФилеТоСендЗавршити'за слање поштегМаил.СендСендВоркбоок = ТачноИзлазна функцијаех:СендВоркбоок = НетачноЗавршна функција |
Ако конфигурациони порт 25 не ради, можда ћете добити грешку - „Транспорт није успео да се повеже са сервером“ Промените порт на 25 и покушајте поново.
Горња функција се може позвати помоћу доње процедуре.
123456789101112131415 | Суб СендМаил ()Дим стрТо Ас СтрингДим стрСубјецт Ас СтрингДим стрБоди Ас Стринг'попуњавају променљивестрТо = "јон.смитх@гмаил.цом"стрСубјецт = "У прилогу пронађите финансијску датотеку"стрБоди = "неки текст иде овде за тело е -поште"'позовите функцију за слање е -поштеАко је СендВоркбоок (стрТо, стрСубјецт,, стрБоди) = тачно ондаМсгбок „Успешно креирање е -поште“ИначеМсгбок "Креирање е -поште није успело!"Заврши акоЕнд Суб |
Од вас ће се тражити да одаберете датотеку коју желите да пошаљете. Овај код је ограничен на Екцел датотеке јер је филтер „*.цсв; *.клс; *.клск; *.клсм ” - међутим, овај код можете користити и у програму Ворд и према томе изменити свој филтер.
Изаберите датотеку и кликните на дугме Отвори. Код може потрајати док се не покрене - ако је пошта успешно послата, добићете следећу поруку.