Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2016 - [решено] Отправка писем из списка адресов Excel

Ответить
Настройки темы
2016 - [решено] Отправка писем из списка адресов Excel

Аватара для B1010

Пользователь


Сообщения: 118
Благодарности: 9


Конфигурация

Профиль | Отправить PM | Цитировать


Имеется некий список E-Mail адресов, и для каждого адреса имеется определённый текст, который нужно отправить именно ему. Проблема в том, что адреса постоянно разные. Возможно ли составить VB скрипт который это будет делать?

Отправлено: 21:38, 12-05-2016

 

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Можно.

Код будет после предоставления образца «списка E-Mail адресов» и описания алгоритма соответствия конкретного адреса конкретному «определённому тексту».

Отправлено: 22:37, 12-05-2016 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для B1010

Пользователь


Сообщения: 118
Благодарности: 9

Профиль | Отправить PM | Цитировать


Конечно, но только в личку, так как я не имею права его распространять публично.

Iska,
Не могу отправить в личку, у вас превышен лимит на сообщения)

Отправлено: 09:03, 13-05-2016 | #3


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Конфиденциальный текст можно заменить любым осмысленным набором символов, реальные почтовые адреса — фиктивными.

Отправлено: 09:19, 13-05-2016 | #4


Аватара для B1010

Пользователь


Сообщения: 118
Благодарности: 9

Профиль | Отправить PM | Цитировать


Вложения
Тип файла: xlsx Тест.xlsx
(8.6 Kb, 4 просмотров)

Без проблем, приложил к сообщению

Отправлено: 09:37, 13-05-2016 | #5


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Например, так:
Код: Выделить весь код
Option Explicit

Sub SendMassMail()
    Const cdoSendUsingPort = 2
    Const cdoBasic = 1
    
    Const strSchema = "http://schemas.microsoft.com/cdo/configuration/"
    
    Dim objRange As Range
    
    If IsConnected() Then
        For Each objRange In ThisWorkbook.Worksheets.Item("Лист1").UsedRange.Columns.Item(1).Cells
            With CreateObject("CDO.Message")
                .From = "myaccount@mail.ru"
                .To = objRange.Value
                .Subject = "Some Sobject"
                .Textbody = objRange.Offset(0, 1).Value
                
                With .Configuration.Fields
                    .Item(strSchema & "smtpserver") = "smtp.mail.ru"
                    .Item(strSchema & "sendusing") = cdoSendUsingPort
                    .Item(strSchema & "smtpserverport") = 25
                    .Item(strSchema & "smtpauthenticate") = cdoBasic
                    .Item(strSchema & "sendusername") = "myaccount@mail.ru"
                    .Item(strSchema & "sendpassword") = "mypassword"
                    
                    .Update
                End With
                
                .Send
            End With
        Next
    End If
End Sub

Function IsConnected()
    Dim objSWbemObjectEx
    
    IsConnected = False
    
    For Each objSWbemObjectEx In GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2").ExecQuery("SELECT * FROM Win32_PingStatus WHERE Address = 'www.google.com'")
        With objSWbemObjectEx
            If Not IsNull(.StatusCode) And .StatusCode = 0 Then
                IsConnected = True
            End If
        End With
        
        Exit For
    Next
    
    Set objSWbemObjectEx = Nothing
End Function

Последний раз редактировалось Iska, 13-05-2016 в 11:28. Причина: Поправил ошибку при копировании/вставке кириллицы — разумеется, должно было быть «Лист1», а не «Ëèñò1» :).

Это сообщение посчитали полезным следующие участники:

Отправлено: 10:20, 13-05-2016 | #6


Аватара для B1010

Пользователь


Сообщения: 118
Благодарности: 9

Профиль | Отправить PM | Цитировать


Iska,
Спасибо вам огромное, оказали большую услугу!

Отправлено: 12:02, 13-05-2016 | #7


Аватара для B1010

Пользователь


Сообщения: 118
Благодарности: 9

Профиль | Отправить PM | Цитировать


Iska,
Начал тестить, первый камень в огороде

Отправлено: 15:39, 13-05-2016 | #8


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата B1010:
Начал тестить, первый камень в огороде »
Добавьте в конфигурацию строку:
Код: Выделить весь код
					.Item(strSchema & "smtpusessl") = True
Укажите правильный номер порта для используемого сервера с шифрованием (например, Mail.RU, Yandex — 465).

Отправлено: 21:55, 13-05-2016 | #9


Аватара для B1010

Пользователь


Сообщения: 118
Благодарности: 9

Профиль | Отправить PM | Цитировать


Iska,
Спасибо, буду проверять

Отправлено: 19:22, 15-05-2016 | #10



Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2016 - [решено] Отправка писем из списка адресов Excel

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
2012 R2 - [решено] Создание пользователей в AD из списка word/excel dimmigg Windows Server 2012/2012 R2 4 14-07-2014 18:54
2010 - При отправке любого офисного (Word, PP, Excel) файла из писем исчезает текст Terrapevt Microsoft Office (Word, Excel, Outlook и т.д.) 1 12-05-2012 20:32
Интернет - [решено] Как удалить список адресов из списка? Kentuky Microsoft Windows 2000/XP 2 26-09-2007 22:29
DHCP. Разрешить подключение только с MAC-адресов из списка Резервирование Gangabass Microsoft Windows NT/2000/2003 3 07-09-2007 12:10
отправка писем XCodeR Программирование и базы данных 6 24-01-2006 10:50




 
Переход