Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.08.2014, 10:42   #1
Mel123
Новичок
Джуниор
 
Регистрация: 27.08.2014
Сообщений: 5
По умолчанию Уведомления из Excel

Доброго времени суток!
Подскажите, пожалуйста, есть ли возможность сделать вывод уведомлений из документа? Смысл такой: есть файл со сроками, можно ли сделать так, чтобы за 3 дня до срока вылезало уведомление, либо направлялось по почте, либо как-то интегрировалось с календарем Outlook?
Mel123 вне форума Ответить с цитированием
Старый 27.08.2014, 12:39   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

можно:
1. получить сообщение при открытии файла
2. отправить письмо
3. как-то интегрировать в Outlook (если решите как именно)

допустим как каждый вариант отдельно, так и все вместе.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 27.08.2014, 14:28   #3
Mel123
Новичок
Джуниор
 
Регистрация: 27.08.2014
Сообщений: 5
По умолчанию

очень хорошо, что можно. Требуется без открытия файла. Вопрос в том, как это реализовать...
Mel123 вне форума Ответить с цитированием
Старый 27.08.2014, 14:47   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

не открывая файл, и не имея возможности посмотреть когда наступит долгожданный срок,
Цитата:
чтобы за 3 дня до срока
...можно посылать сообщения каждую секунду, одно из них окажется за "3 дня до срока" вот на него и надо будет среагировать оператору, а остальные игнорировать
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 27.08.2014, 16:21   #5
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

USE Google
Напоминалка

Код:
Sub Create_Tasks()
    Dim outTask  As Object 'As Outlook.TaskItem
    Dim outApp As Object ' As Outlook.Application
   ' Set outApp = New Outlook.Application
      Set outApp = CreateObject("Outlook.application")
    Set outTask = outApp.CreateItem(3)
    outTask.DueDate = Now() + 15
    outTask.ReminderTime = Now() + 10
    outTask.Body = "My task"
    outTask.Recipients.Add "MMM@mm.ru"
    outTask.Assign
  outTask.Send
    Set outTask = Nothing
  outApp.Quit
 Set outApp = Nothing
End Sub
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 28.08.2014, 09:53   #6
Mel123
Новичок
Джуниор
 
Регистрация: 27.08.2014
Сообщений: 5
По умолчанию

Таблица такого типа:

|А |B
---------------------
1 |раз |28.08.2014
---------------------
2 |два |29.08.2014
---------------------
3 |три |30.08.2014

В общем пока дошел до такого вида:
Код:
Sub test()
Dim dDate As Date
 dDate = Sheet1.Range("B1:B3") - как заставить его выбирать из диапазона, например, сегодняшнюю дату? и отправлять? 
Application.OnTime dDate, "Send_Mail()"
End Sub

Sub Send_Mail()
Dim OutlookApp As Object, SM As Object
 Set OutlookApp = CreateObject("Outlook.Application")
 Set SM = OutlookApp.CreateItem(olMailItem)
 SM.To = "123@mail.ru"
 SM.CC = "123@mail.ru"
 SM.Subject = "Поа за работу"
 On Error Resume Next
 SM.Body = Sheet1.Range("A1:A3") - как заставить выбирать текст ячейки напротив даты в тему письма? 
 SM.Attachments.Add ("C:\Test.xls")
 SM.Assign
 SM.Send
 Set SM = Nothing
 Set OutlookApp = Nothing
End Sub

Последний раз редактировалось Mel123; 28.08.2014 в 09:56.
Mel123 вне форума Ответить с цитированием
Старый 28.08.2014, 10:47   #7
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Цитата:
dDate = Sheet1.Range("B1:B3") - как заставить его выбирать из диапазона, например, сегодняшнюю дату? и отправлять?
а зачем ее выбирать? если дата известна, то так и пишите, например сегодня:
Код:
dDate = ToDay()
Цитата:
SM.Body = Sheet1.Range("A1:A3") - как заставить выбирать текст ячейки напротив даты в тему письма?
Код:
if worksheetfunction.countif(Range("B1:B3"), dDate) > 0 then c = worksheetfunction.match(dDate, Range("B1:B3"), 0) else c = 0
if c = 0 MsgBox "В диапазоне B1:B3 нет даты " & dDate:  exit sub
SM.Body = Sheet1.cells(1,c)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 28.08.2014, 11:16   #8
Mel123
Новичок
Джуниор
 
Регистрация: 27.08.2014
Сообщений: 5
По умолчанию

Спасибо за ответ!

[QUOTE=IgorGO;1408813]а зачем ее выбирать? если дата известна, то так и пишите, например сегодня:
Код:
dDate = ToDay()
смысл в том, чтоб макрос сопоставлял текущую дату с датой в ячейке, и если совпадает отправлял письмо...
Mel123 вне форума Ответить с цитированием
Старый 28.08.2014, 11:37   #9
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

извините, вот так будет работать:
Код:
if worksheetfunction.countif(Range("B1:B3"), cdbl(Date)) > 0 then c = worksheetfunction.match(cdbl(Date), Range("B1:B3"), 0) else c = 0
if c = 0 MsgBox "В диапазоне B1:B3 нет даты " & Date:  exit sub
SM.Body = Sheet1.cells(1,c)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 28.08.2014, 12:06   #10
Mel123
Новичок
Джуниор
 
Регистрация: 27.08.2014
Сообщений: 5
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
извините, вот так будет работать:
Код:
if worksheetfunction.countif(Range("B1:B3"), cdbl(Date)) > 0 then c = worksheetfunction.match(cdbl(Date), Range("B1:B3"), 0) else c = 0
if c = 0 Then MsgBox "В диапазоне B1:B3 нет даты " & Date:  exit sub
SM.Body = Sheet1.cells(1,c)
письмо отправляется, но текста в теле письма нет
Все что текстом пишешь в кавычках, без проблем.
Mel123 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Алгоритм уведомления по почте о новом комментарии dr.Chas PHP 8 01.05.2012 01:12
Microsoft Office Outlook : уведомления kipish Софт 1 06.04.2011 11:18
Отсылка уведомления Zeraim Фриланс 2 05.07.2009 15:27
Уведомления на мобилу KORT Свободное общение 4 29.08.2007 18:32