Страницы: 1
RSS
Отправка разных файлов на разные почты
 
Добрый день.

Никак не могу найти файл, с помощью которого можно будет осуществить задачу ниже.
Необходимо отправить 50 ПДФ файлов на 50 разных электронных почт с одной темой письма и одним текстом. Нашла вот этот файл, но на практике он не работает.
Помогите, пожалуйста блондинке.

Заранее спасибо.
 
Как отправить письмо из Excel?
Смотрите массовую рассылку(есть ссылка отдельная в оглавлении статьи)
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Что не так в моем вопросе? Мне нужен макрос, для рассылки файлов на разные почты.
 
все в вашем вопросе так.
тут кто-то обязан вам предоставить такой макрос?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Код
Sub Рассылка()
    Const SUBJ = "Тема письма"
    Const BODY = "Текст письма"
    
    With ActiveSheet
        Dim y As Long:      y = .Cells(.Rows.Count, 1).End(xlUp).Row
        Dim a As Variant:   a = .Range(.Cells(1, 1), .Cells(y, 2))
    End With
    
    For y = 1 To UBound(a, 1)
        SendEmailUsingOutlook True, BODY, a(y, 1), , , SUBJ, a(y, 2)
    Next
End Sub
'
Function SendEmailUsingOutlook(ByRef SendMode As Variant, _
                                ByVal MailText$, _
                                ByVal Email$, _
                                Optional ByVal CopyTo$, _
                                Optional oOutlook As Object, _
                                Optional ByVal Subject As String = "", _
                                Optional ByVal AttachFilename As Variant, _
                                Optional ByVal from As String, _
                                Optional ByVal flagDeleteAfterSubmit As Boolean = False) _
                                    As Boolean
    Application.StatusBar = "Send mail " & Email$ & " " & Subject$    On Error Resume Next: Err.Clear
    If oOutlook Is Nothing Then Set oOutlook = GetObject(, "Outlook.Application")
    If oOutlook Is Nothing Then
        Set oOutlook = CreateObject("Outlook.Application")
    End If
    If oOutlook Is Nothing Then CreateObject("WScript.Shell").Popup "Не удалось запустить OUTLOOK для отправки почты", 2, "SendEmailUsingOutlook", vbCritical: Exit Function
    Err.Clear
        
        'создаем новое сообщение
        Dim oMail As Object 'Outlook.MailItem
        Set oMail = oOutlook.CreateItem(0)
        With oMail
            .to = Email$: .Subject = Subject$: .BODY = MailText$
            If from <> "" Then _
            .SentOnBehalfOfName = from
            .CC = CopyTo$
            If InStr(MailText$, "</") = 0 Then
                .BODY = MailText$
            Else
                .HTMLBody = MailText$
            End If
            If VarType(AttachFilename) = vbString Then .Attachments.Add AttachFilename
            If VarType(AttachFilename) = vbObject Then    ' AttachFilename as Collection
                Dim file As Variant
                For Each file In AttachFilename.keys: .Attachments.Add file: Next
            End If
'            Dim i As Long: For i = 100000 To 100000: DoEvents: Next    ' без паузы не отправляются письма без вложений
            Err.Clear
            
            'Удалить после отправки
            If flagDeleteAfterSubmit Then .DeleteAfterSubmit = True
            
'            .Display
            Select Case SendMode
            Case "Display":     .Display
            Case True:          .Send
            Case Else:          .Save
            End Select
            SendEmailUsingOutlook = Err = 0
        
        End With    Application.StatusBar = False
End Function

Заполните в столбец А адреса.
В столбец В полные имена файлов, которые нужно отправить.
 
Цитата
DV14 написал:
Мне нужен макрос, для рассылки файлов на разные почты
а по ссылке пройти, чуть-чуть прочитать и скачать файл религия не позволяет? Или какие-то проблемы с этим возникают? Там приложен ГОТОВЫЙ макрос именно этой задачи.  
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Вы не поверите, но пробовала и не получилось, иначе бы не задавала вопрос) нужно быть чуть добрее к тем, кто трудится в других сферах и в них понимает чуточку больше вас) у всех свои сильные стороны
 
Матрос, спасибо большое, в понедельник попробую ❤️
 
Цитата
DV14 написал:
к тем, кто трудится в других сферах и в них понимает чуточку больше вас
опасное заявление. А вдруг и это не верно  :D  . А в целом  Дмитрий(The_Prist) Щербаков просто сказал что там все есть.
По вопросам из тем форума, личку не читаю.
 
Цитата
DV14 написал:
в них понимает чуточку больше вас
а вы на каком форуме помощь оказываете?
 
Вот так в очередной раз возникло напряжение между ТС и форумчанами из-за того, что кто-то принял простую подпись в сообщении на свой счёт  :D  
Изменено: Sceptic - 20.12.2019 18:46:42
 
Цитата
DV14 написал:
нужно быть чуть добрее к тем, кто трудится в других сферах
не вижу, чтобы я хамил или насмехался. Где Вы увидели хоть какой-то намек на "не доброту"? Я дал ссылку с полноценным решением - там даже ФАЙЛ С ГОТОВЫМ КОДОМ приложен и инструкция как пользоваться написана с примером расположения данных и нюансами вроде того, что Outlook может блокировать попытку автоматической отправки писем макросом и как в этом случае поступать. Вы не захотели пройти по ссылке, прочитать и вникнуть хоть чуть-чуть, а злой я получился :) Интересный подход. Мне всегда казалось, что для того, чтобы воспользоваться готовым решением с примером использования не надо быть профи хоть в какой-то сфере. Видимо, ошибался...
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Страницы: 1
Наверх