Домашняя страница Undo Do Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Макрос оповещения об истечении срока из Excel - в Outlook - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Макрос оповещения об истечении срока из Excel - в Outlook
Rassell89 Дата: Понедельник, 09.05.2016, 17:45 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Добрый день! Подскажите пожалуйста, возможно ли имея файл Excel с определенными сроками , использовать макрос для оповещения пользователей посредством MS Outlook об истечении сроков (за несколько дней - за неделю к примеру) ? Т.е. из MS Excel сроки попадают в MS Outlook и далее на эл.почту к пользователю. Файл выложен на сервере.

Заранее спасибо!
 
Ответить
СообщениеДобрый день! Подскажите пожалуйста, возможно ли имея файл Excel с определенными сроками , использовать макрос для оповещения пользователей посредством MS Outlook об истечении сроков (за несколько дней - за неделю к примеру) ? Т.е. из MS Excel сроки попадают в MS Outlook и далее на эл.почту к пользователю. Файл выложен на сервере.

Заранее спасибо!

Автор - Rassell89
Дата добавления - 09.05.2016 в 17:45
Gustav Дата: Понедельник, 09.05.2016, 21:40 | Сообщение № 2
Группа: Админы
Ранг: Участник клуба
Сообщений: 2797
Репутация: 1161 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
Возможно. Для этого надо будет в файле Еxcel написать некоторый код VBA в процедуру обработки события, скажем, Workbook_Open. А также обязать некоего человека-триггера регулярно открывать рабочую книгу на сервере с заданной периодичностью, например, раз в сутки. Ну или оформить периодическое назначенное задание Windows.

P.S. Облачная альтернатива: таблица Google Sheet, в ней скрипт на таймерном триггере с автоматической рассылкой почты от имени адреса Google Gmail.


МОИ: Ник, Tip box: 41001663842605

Сообщение отредактировал Gustav - Понедельник, 09.05.2016, 22:37
 
Ответить
СообщениеВозможно. Для этого надо будет в файле Еxcel написать некоторый код VBA в процедуру обработки события, скажем, Workbook_Open. А также обязать некоего человека-триггера регулярно открывать рабочую книгу на сервере с заданной периодичностью, например, раз в сутки. Ну или оформить периодическое назначенное задание Windows.

P.S. Облачная альтернатива: таблица Google Sheet, в ней скрипт на таймерном триггере с автоматической рассылкой почты от имени адреса Google Gmail.

Автор - Gustav
Дата добавления - 09.05.2016 в 21:40
Rassell89 Дата: Среда, 11.05.2016, 20:54 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Gustav, спасибо за идею по поводу назначенного задания Windows.

Не совсем понятен механизм отправки: файл выложен на сервере. К примеру назначенное задание по открытию запускается с моего сетевого ПК, файл открывается, происходит отправка сообщения с моего клиента MS Outlook ( на моей машине)? Или как?

Гугл не вариант, сеть корпоративная.
 
Ответить
СообщениеGustav, спасибо за идею по поводу назначенного задания Windows.

Не совсем понятен механизм отправки: файл выложен на сервере. К примеру назначенное задание по открытию запускается с моего сетевого ПК, файл открывается, происходит отправка сообщения с моего клиента MS Outlook ( на моей машине)? Или как?

Гугл не вариант, сеть корпоративная.

Автор - Rassell89
Дата добавления - 11.05.2016 в 20:54
Gustav Дата: Четверг, 12.05.2016, 07:15 | Сообщение № 4
Группа: Админы
Ранг: Участник клуба
Сообщений: 2797
Репутация: 1161 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
файл выложен на сервере. К примеру назначенное задание по открытию запускается с моего сетевого ПК, файл открывается, происходит отправка сообщения с моего клиента MS Outlook ( на моей машине)

Да, примерно так всё и предполагается. Еще материал в помощь: http://www.excelworld.ru/forum/19-2431-1

Если у вас в компании имеется, скажем, SharePoint Server, то можно ещё попробовать использовать его тайм-джобы. В этом случае задание будет крутиться именно на сервере, без участия Вашей машины. Но это уже с вашими сисадминами обсуждайте, я тут не специалист.


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение
файл выложен на сервере. К примеру назначенное задание по открытию запускается с моего сетевого ПК, файл открывается, происходит отправка сообщения с моего клиента MS Outlook ( на моей машине)

Да, примерно так всё и предполагается. Еще материал в помощь: http://www.excelworld.ru/forum/19-2431-1

Если у вас в компании имеется, скажем, SharePoint Server, то можно ещё попробовать использовать его тайм-джобы. В этом случае задание будет крутиться именно на сервере, без участия Вашей машины. Но это уже с вашими сисадминами обсуждайте, я тут не специалист.

Автор - Gustav
Дата добавления - 12.05.2016 в 07:15
Rassell89 Дата: Четверг, 12.05.2016, 13:42 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Спасибо!

Примерно в таком виде предполагается использование (см.вложение).

Получается дату и время отправки можно прописать в коде - к примеру если по 1ой позиции срок - 12.05.2016- то за неделю будет - 7.05.2016 - на указанный ящик отправляется письмо. Т.е. 7.05.2016 - либо через SharePoint Server тайм-джобы , либо через назначенное задание? В коде ничего прописывать не нужно?
К сообщению приложен файл: 6822405.xlsx (11.8 Kb)
 
Ответить
СообщениеСпасибо!

Примерно в таком виде предполагается использование (см.вложение).

Получается дату и время отправки можно прописать в коде - к примеру если по 1ой позиции срок - 12.05.2016- то за неделю будет - 7.05.2016 - на указанный ящик отправляется письмо. Т.е. 7.05.2016 - либо через SharePoint Server тайм-джобы , либо через назначенное задание? В коде ничего прописывать не нужно?

Автор - Rassell89
Дата добавления - 12.05.2016 в 13:42
Gustav Дата: Четверг, 12.05.2016, 20:12 | Сообщение № 6
Группа: Админы
Ранг: Участник клуба
Сообщений: 2797
Репутация: 1161 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
В коде ничего прописывать не нужно?

Смотрите. У Вас должен быть список ("база данных"), в котором есть срок (дата), адрес е-мэйл и текст сообщения (а также какая-либо еще информация). Список хранится на листе Excel - это всё есть.

И еще должна быть программа обработки этого списка, например, макрос Excel. Логика работы этой программы проста: пробежать по всему списку, сравнивая дату (срок) из очередной строки с датой "сегодня" (т.е. с датой работы программы). Если разница между этими датами удовлетворяет заданному условию (в Вашем случае, как я понимаю, это 7 дней или меньше), то для этой строки списка нужно послать е-мэйл - по указанному в строке адресу и с указанным в строке текстом сообщения.

Пока, вроде, всё прозрачно. Есть список и программа его обработки. Дело осталось за малым - выяснить кто и когда будет эту программу запускать. Этим "запускальщиком" может быть человек, который приходит на работу и запускает программу. И пока он пьет кофе и просматривает утренние новости, программа отрабатывает.

Но этим же "запускальщиком" может быть и "железяка" - локальный компьютер пьющего кофе или вообще корпоративный сервер. В случае локального компьютера задачи пьющего кофе изменяются: ему не надо каждый день запускать программу обработки списка, достаточно лишь включить свой компьютер и в назначенное время, скажем, в 11 часов утра, благодаря настроенному заданию программа сама запустится и отработает. Как правило, всё это происходит незаметно, в скрытом окне и не мешает выполнению в этот момент другой работы за компьютером. Если локальный компьютер не выключается сутками, то становится возможным отправка писем даже в выходные и праздники. С другой стороны, соответственно, если человек ушёл в отпуск на 2 недели и погасил свой компутер, то 2 недели ничего и не происходит.

Заисимость от "настроения" человека исчезает, если задание настроено и запускается не на локальной машине, а на централизованном корпоративном сервере, для которого круглосуточная работа - норма.

Само же назначенное задание фактически представляет собой команду операционной системы, включающую имя основной программы (Excel), путь к открываемому файлу и, возможно, имя запускаемого макроса (если не используется автоматическое событие Workbook_Open).

Пока у Вас, как понимаю, есть только список. Поэтому надо написать еще программу (макрос). Если будете затем стартовать ее сами, то этим дело закончится. Если же захотите откреститься от личного ежедневного запуска, то придётся еще немного освоить настройку автоматических таймерных "запускалок".


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение
В коде ничего прописывать не нужно?

Смотрите. У Вас должен быть список ("база данных"), в котором есть срок (дата), адрес е-мэйл и текст сообщения (а также какая-либо еще информация). Список хранится на листе Excel - это всё есть.

И еще должна быть программа обработки этого списка, например, макрос Excel. Логика работы этой программы проста: пробежать по всему списку, сравнивая дату (срок) из очередной строки с датой "сегодня" (т.е. с датой работы программы). Если разница между этими датами удовлетворяет заданному условию (в Вашем случае, как я понимаю, это 7 дней или меньше), то для этой строки списка нужно послать е-мэйл - по указанному в строке адресу и с указанным в строке текстом сообщения.

Пока, вроде, всё прозрачно. Есть список и программа его обработки. Дело осталось за малым - выяснить кто и когда будет эту программу запускать. Этим "запускальщиком" может быть человек, который приходит на работу и запускает программу. И пока он пьет кофе и просматривает утренние новости, программа отрабатывает.

Но этим же "запускальщиком" может быть и "железяка" - локальный компьютер пьющего кофе или вообще корпоративный сервер. В случае локального компьютера задачи пьющего кофе изменяются: ему не надо каждый день запускать программу обработки списка, достаточно лишь включить свой компьютер и в назначенное время, скажем, в 11 часов утра, благодаря настроенному заданию программа сама запустится и отработает. Как правило, всё это происходит незаметно, в скрытом окне и не мешает выполнению в этот момент другой работы за компьютером. Если локальный компьютер не выключается сутками, то становится возможным отправка писем даже в выходные и праздники. С другой стороны, соответственно, если человек ушёл в отпуск на 2 недели и погасил свой компутер, то 2 недели ничего и не происходит.

Заисимость от "настроения" человека исчезает, если задание настроено и запускается не на локальной машине, а на централизованном корпоративном сервере, для которого круглосуточная работа - норма.

Само же назначенное задание фактически представляет собой команду операционной системы, включающую имя основной программы (Excel), путь к открываемому файлу и, возможно, имя запускаемого макроса (если не используется автоматическое событие Workbook_Open).

Пока у Вас, как понимаю, есть только список. Поэтому надо написать еще программу (макрос). Если будете затем стартовать ее сами, то этим дело закончится. Если же захотите откреститься от личного ежедневного запуска, то придётся еще немного освоить настройку автоматических таймерных "запускалок".

Автор - Gustav
Дата добавления - 12.05.2016 в 20:12
Rassell89 Дата: Суббота, 14.05.2016, 21:44 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
А какого вида можно использовать функцию сравнения даты (срока) из столбца и текущей даты? РАЗДНАТ () ? или что-то иное?
 
Ответить
СообщениеА какого вида можно использовать функцию сравнения даты (срока) из столбца и текущей даты? РАЗДНАТ () ? или что-то иное?

Автор - Rassell89
Дата добавления - 14.05.2016 в 21:44
_Boroda_ Дата: Воскресенье, 15.05.2016, 13:02 | Сообщение № 8
Группа: Админы
Ранг: Местный житель
Сообщений: 16714
Репутация: 6503 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Для обычных дат с поиском разности в 7 дней - просто разность СЕГОДНЯ() (в VBA - DATE) и даты из ячейки.
РАЗНДАТ целесообразно использовать для выковыривания разности в месяцах, годах, разности в днях без учета месяца (когда 09.05 - 08.03 = 1 день) и прочего нестандарта.


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеДля обычных дат с поиском разности в 7 дней - просто разность СЕГОДНЯ() (в VBA - DATE) и даты из ячейки.
РАЗНДАТ целесообразно использовать для выковыривания разности в месяцах, годах, разности в днях без учета месяца (когда 09.05 - 08.03 = 1 день) и прочего нестандарта.

Автор - _Boroda_
Дата добавления - 15.05.2016 в 13:02
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!