Страницы: 1
RSS
Рассылка сообщений по условию
 
Всем привет!
Есть файл с работающим макросом по рассылки сообщений по условию, но проблема с тем что он формирует сообщения с первого листа, нужно со всей книги. Не могу разобраться вот с этой частью макроса:
Код
Sub mail_30()
        iLastrow = ThisWorkbook.Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row
        
        For i = 2 To iLastrow
            If Sheets(1).Range("k" & i).Value = "Оправить" Then
            
                    Set OutApp = CreateObject("Outlook.Application")
                    OutApp.Session.Logon
                    On Error GoTo cleanup
                    Set OutMail = OutApp.CreateItem(0)
                    On Error Resume Next

Помогите, очень нужно...
Изменено: jakkop - 21.06.2019 21:17:46
 
Цитата
jakkop написал: проблема с тем что он формирует сообщения с первого листа, нужно со всей книги.
Книга состоит из листов...Что нужно?
Согласие есть продукт при полном непротивлении сторон
 
Да. Нужно что бы макрос работал на всех листах, формировал сообщения по всем листам. Сейчас макрос формирует только сообщения с первого листа.
 
Код
Весь макрос целиком;
Sub mail_30()
        iLastrow = ThisWorkbook.Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row
        
        For i = 2 To iLastrow
            If Sheets(1).Range("k" & i).Value = "Отправить" Then
            
                    Set OutApp = CreateObject("Outlook.Application")
                    OutApp.Session.Logon
                    On Error GoTo cleanup
                    Set OutMail = OutApp.CreateItem(0)
                    On Error Resume Next
                        With OutMail
                            .To = Range("j" & i).Value
                            .Subject = "Новый документ."
                            .HTMLBody = "<p style='font-family:Tahoma;font-size:14'>" & "Здравствуйте. " & Range("d" & i).Value & vbCrLf & "." & _
                    "<p style='font-family:Tahoma;font-size:14'>" & "Вы получили это сообщение, так как Вам отписан документ " & Range("a" & i).Value & "." & _
                    "<p style='font-family:Tahoma;font-size:14'>" & "Документ в папке с документами  U:\Документооборот\" & Range("l" & i).Value & vbCrLf & "." & _
                    "<p style='font-family:Tahoma;font-size:14'>" & "Это сообщение отправлено системой автоматически, пожалуйста, не отвечайте на него." & vbCrLf & _
                    "<p style='font-family:Tahoma;font-size:14'>" & "Система автоматического уведомления."
                    
                            .Display
                        End With
                    On Error GoTo 0
                    Set OutMail = Nothing
cleanup:
                    Set OutApp = Nothing
                End If
        Next
End Sub
Изменено: jakkop - 22.06.2019 21:58:05
 
jakkop, оформите код, как полагается.
 
Всем добрый вечер.
Кто нибудь помогите с решить вопрос с макросом. Очень нужно.
Макрос по рассылки сообщений по условию, работает только на первом листе, нужно что бы работал на всех листах.
Изменено: jakkop - 25.06.2019 21:46:24
 
Цитата
jakkop написал: нужно что бы работал на всех листах
На всех, так на всех
Скрытый текст
Согласие есть продукт при полном непротивлении сторон
 
Большое спасибо, Sanja.
Все работает так как надо.
Страницы: 1
Наверх