Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Импорт примечаний и исправлений из Word в Excel
 
Добрый день !

Все работает ! У меня появилась по-сложнее задачка: Примечания стоят в таблицах документа Word, нужно выгруженной таблице (как в предыдущем примере) добавить все поля из той строки таблицы, где стоит примечание. В самом документе может быть множество других (не нужных нам) таблиц. Нашел, что-то подобное (https://www.cyberforum.ru/vba/thread2540854.html), но не создается Excel и выгружается только АБЗАЦ, где стоит Примечание.
Изменено: Der_Meister - 02.04.2021 15:37:54
Напоминание о предстоящих событиях за n-количество дней до них
 
Господин vikttur, в этом то и фишка макроса, что есть диапазон обратного отсчета и на основе его должна строится рассылка нужному Исполнителю в нужное время и все это называется условно "Напоминалка"

Неужели нельзя взять код:
Код
Sub SendMail()    Dim OutApp As Object
    Dim OutMail As Object
    Dim cell As Range
    Application.ScreenUpdating = False
    Set OutApp = CreateObject("Outlook.Application")   'запускаем Outlook в скрытом режиме
    OutApp.Session.Logon      
    On Error GoTo cleanup  'если не запустился - выходим 
    Set OutMail = OutApp.CreateItem(0)   'создаем новое сообщение
    On Error Resume Next
    'заполняем поля сообщения
    With OutMail
        .To = Range("A1").Value
        .Subject = Range("A2").Value
        .Body = Range("A3").Value
        .Attachments.Add Range("A4").Value
        'команду Send можно заменить на Display, чтобы посмотреть сообщение перед отправкой 
        .Send
    End With
     On Error GoTo 0
    Set OutMail = Nothing
 cleanup:
    Set OutApp = Nothing
    Application.ScreenUpdating = True
End Sub

или
Код
Sub Send_Mail_Mass()    Dim objOutlookApp As Object, objMail As Object
    Dim sTo As String, sSubject As String, sBody As String, sAttachment As String
    Dim lr As Long, lLastR As Long
 
    Application.ScreenUpdating = False
    On Error Resume Next
    'пробуем подключиться к Outlook, если он уже открыт
    Set objOutlookApp = GetObject(, "Outlook.Application")
    Err.Clear 'Outlook закрыт, очищаем ошибку
    If objOutlookApp Is Nothing Then
        Set objOutlookApp = CreateObject("Outlook.Application")
    End If
    'произошла ошибка создания объекта - выход
    If Err.Number <> 0 Then Set objOutlookApp = Nothing: Set objMail = Nothing: Exit Sub
    objOutlookApp.Session.Logon
 
    lLastR = Cells(Rows.Count, 1).End(xlUp).Row
    'цикл от второй строки(начало данных с адресами) до последней ячейки таблицы
    For lr = 2 To lLastR
        Set objMail = objOutlookApp.CreateItem(0)   'создаем новое сообщение
        'создаем сообщение
        With objMail
            .to = Cells(lr, 1).Value 'адрес получателя
            .Subject = Cells(lr, 2).Value 'тема сообщения
            .Body = Cells(lr, 3).Value 'текст сообщения
            .Attachments.Add Cells(lr, 4).Value
            .Send 'Display, если необходимо просмотреть сообщение, а не отправлять без просмотра
        End With
    Next lr
 
    Set objOutlookApp = Nothing: Set objMail = Nothing
    Application.ScreenUpdating = True
End Sub

и перед ним вставить оператор IF на проверку условия, если да, то рассылка начинает формировать, а если нет, то ничего делать не надо ?
Изменено: Der_Meister - 26.09.2016 22:14:07
Напоминание о предстоящих событиях за n-количество дней до них
 
Спасибо за отклик ! http://www.planetaexcel.ru/techniques/13/48/ - эта полная ссылка на прием "Отправка книги или листа по электронной почте", в нем есть "Способ 3. Универсальный макрос". Этот способ нравится тем, что в нем представлено формирование почтовой рассылки нескольким адресатам сразу. Господин JeyCi предоставил ссылку на Уведомление за 2 месяца до истечения срока действия (без рассылки), но в этом примере вылетает Msgbox и рассылки не происходит. Я думаю многим из нас пригодится инструмент, когда есть поставленные сроки и исполнители закрепленные за ними, поэтому тут необходимо сделать алгоритм некой "Рассылки-напоминалки с условием по сроку"
Принцип работы макроса:
1. Сканирование столбца "Осталось дней до" на предмет истечения сроков (например, 30 дней > Х > 25 дней). Я так подозреваю, это делается помощью оператора IF или CASE
2. При соблюдении условий п. 1, начинается массовая рассылка через Outlook тем исполнителям (адресатам) у кого "горят сроки". Это как раз тот "Способ №3"
3. Эта схема должна запускать одновременно с запуском файла, кнопка тут бесполезна (можно забыть о ней в повседневной текучке)

Сразу скажу, что я особо не касался VBA (не было поводов), но "жизнь заставила" обратится к Вам , Форумчанам - специалистам в мире Excel, за советом. Еще раз хочу отметить на полезность данного макроса, т.к. в офисной работе очень часто приходится контролировать сроки за себя и за других.
Напоминание о предстоящих событиях за n-количество дней до них
 
Добрый день !
Подскажите пожалуйста, способом "Способом №3" (http://www.planetaexcel.ru/techniques/13/48/) можно решить следующую задачу ?
Имеется перечень контактов, также справа имеется столбец с числами (например, кол-во дней до определенного события),
необходимо:
1. Просмотр диапазона с числами на условие достижение числами определенного значения (например, 30 > x > 25)

Вопросы не по теме удалены [МОДЕРАТОР]
Страницы: 1
Наверх