Всех еще раз сердечно приветствую. Есть задача. Оператор-звонарь ведет журнал входящих звонков. При поступлении звонка заполняется карта клиента, назначается менеджер и ему улетает письмо с координатами клиента. Тут слава богу все норм. Вводится регламент перезвона менеджером не позднее 15 минут с момента уведомления. Как заставить макрос выявлять просроченные контакты и отправлять контрольное письмо на другой ящик один раз и более его в рассылку не включать? Столбец в котором идет расчет просроченного времени сидит формула, которая с помощью макроса обновляется каждые 30 сек. [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 1 Then Exit Sub Dim R&: R = Target.Row: If R < 3 Then Exit Sub With CreateObject("Outlook.Application") With .CreateItem(0) .To = [AE1] .Subject = "ВНИМАНИЕ! НОВЫЙ ВХОДЯЩИЙ ЗВОНОК. НЕОБХОДИМО СВЯЗАТЬСЯ С КЛИЕНТОМ В ТЕЧЕНИЕ 15 МИНУТ!" .Body = "Контрагент: " & Cells(R, 4) & vbCrLf & _ "ЛПР: " & Cells(R, 5) & vbCrLf & _ "Телефон для связи с клиентом: " & Cells(R, 6) & vbCrLf & _ "Адрес электронной почты: " & Cells(R, 7) & vbCrLf & _ [AF1] & ": " & Cells(R, 9) & vbCrLf & _ "Статус работы с клиентом: " & Cells(R, 14) & vbCrLf & _ "НУЖНО СВЯЗАТЬСЯ С КЛИЕНТОМ. ВРЕМЯ ПОШЛО. ТИК ТАК ТИК ТАК!!!" .Display ' если нужно посмотреть письмо .Send End With End With End Sub
[/vba]
Всех еще раз сердечно приветствую. Есть задача. Оператор-звонарь ведет журнал входящих звонков. При поступлении звонка заполняется карта клиента, назначается менеджер и ему улетает письмо с координатами клиента. Тут слава богу все норм. Вводится регламент перезвона менеджером не позднее 15 минут с момента уведомления. Как заставить макрос выявлять просроченные контакты и отправлять контрольное письмо на другой ящик один раз и более его в рассылку не включать? Столбец в котором идет расчет просроченного времени сидит формула, которая с помощью макроса обновляется каждые 30 сек. [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 1 Then Exit Sub Dim R&: R = Target.Row: If R < 3 Then Exit Sub With CreateObject("Outlook.Application") With .CreateItem(0) .To = [AE1] .Subject = "ВНИМАНИЕ! НОВЫЙ ВХОДЯЩИЙ ЗВОНОК. НЕОБХОДИМО СВЯЗАТЬСЯ С КЛИЕНТОМ В ТЕЧЕНИЕ 15 МИНУТ!" .Body = "Контрагент: " & Cells(R, 4) & vbCrLf & _ "ЛПР: " & Cells(R, 5) & vbCrLf & _ "Телефон для связи с клиентом: " & Cells(R, 6) & vbCrLf & _ "Адрес электронной почты: " & Cells(R, 7) & vbCrLf & _ [AF1] & ": " & Cells(R, 9) & vbCrLf & _ "Статус работы с клиентом: " & Cells(R, 14) & vbCrLf & _ "НУЖНО СВЯЗАТЬСЯ С КЛИЕНТОМ. ВРЕМЯ ПОШЛО. ТИК ТАК ТИК ТАК!!!" .Display ' если нужно посмотреть письмо .Send End With End With End Sub
Задача делится на несколько самостоятельных вопросов.
1). Регулярная проверка: в Excel'е сложно запрограммировать регулярные проверки. Такие проверки, обычно, будут блокировать работу других макросов и будут завязаны на пересчёт книги. То есть, если в файле много тяжёлых формул - работать с ним придётся дольше обычного. Настройка регулярной проверки, по кому сроки истекли, а по кому нет - самая сложная часть.
2). Отслеживание коммуникации: достаточно добавить дополнительный столбец для отметки, уходило ли клиенту письмо. Пусть по умолчанию, например, в нём стоит 0. Если письмо успешно отправлено - пусть ставится цифра 1.
3). Отправка письма: на основании проверки из пункта "1" и, если по пункту "2" мы видим что коммуникация отсутствует - выполняем аналог кода, который у Вас уже есть.
Делать этот код целиком - лично мне не интересно. Но если будут более детальные вопросы - добро пожаловать.
VIDEO56, здравствуйте.
Задача делится на несколько самостоятельных вопросов.
1). Регулярная проверка: в Excel'е сложно запрограммировать регулярные проверки. Такие проверки, обычно, будут блокировать работу других макросов и будут завязаны на пересчёт книги. То есть, если в файле много тяжёлых формул - работать с ним придётся дольше обычного. Настройка регулярной проверки, по кому сроки истекли, а по кому нет - самая сложная часть.
2). Отслеживание коммуникации: достаточно добавить дополнительный столбец для отметки, уходило ли клиенту письмо. Пусть по умолчанию, например, в нём стоит 0. Если письмо успешно отправлено - пусть ставится цифра 1.
3). Отправка письма: на основании проверки из пункта "1" и, если по пункту "2" мы видим что коммуникация отсутствует - выполняем аналог кода, который у Вас уже есть.
Делать этот код целиком - лично мне не интересно. Но если будут более детальные вопросы - добро пожаловать.Rioran
Роман, Москва, voronov_rv@mail.ru Яндекс-Деньги: 41001312674279