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

Вход

Регистрация

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

 

= Мир MS Excel/Отправка Email из Excel по конкретной дате. Помогите HELP!!! - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Отправка Email из Excel по конкретной дате. Помогите HELP!!! (Сигнализация Email-ом по наступлению конкретной даты)
Отправка Email из Excel по конкретной дате. Помогите HELP!!!
WILDBeavis Дата: Понедельник, 18.03.2013, 17:30 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

Доброго времени суток.
Необходимо вести учет событий наступающих конкретного числа.
В столбец заносятся даты. Когда допустим до нее остается неделя - на заданный диапазон адресов высылается письмо с уведомлением.
Подскажите пожалуйста возможна ли организация подобной рассылки и как это осуществить.
Заранее благодарю ВСЕХ откликнувшихся.


Сообщение отредактировал WILDBeavis - Вторник, 19.03.2013, 14:38
 
Ответить
СообщениеДоброго времени суток.
Необходимо вести учет событий наступающих конкретного числа.
В столбец заносятся даты. Когда допустим до нее остается неделя - на заданный диапазон адресов высылается письмо с уведомлением.
Подскажите пожалуйста возможна ли организация подобной рассылки и как это осуществить.
Заранее благодарю ВСЕХ откликнувшихся.

Автор - WILDBeavis
Дата добавления - 18.03.2013 в 17:30
Andrej092 Дата: Понедельник, 03.06.2013, 17:08 | Сообщение № 2
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 20% ±

[vba]
Код
Sub Mail_Workbook_1()
' Works in Excel 2000, Excel 2002, Excel 2003, Excel 2007, Excel 2010, Outlook 2000, Outlook 2002, Outlook 2003, Outlook 2007, Outlook 2010.
' This example sends the last saved version of the Activeworkbook object .
Dim OutApp As Object
Dim OutMail As Object

Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)

On Error Resume Next
' Change the mail address and subject in the macro before you run it.

With Date
If Range("B1") = Date Then
With OutMail
.To = "andrej@gmail.com"
.CC = ""
.BCC = ""
.Subject = "Nezabud segodnia kupit moloko "
.Body = Range("A3")
'.Attachments.Add ActiveWorkbook.FullName
' You can add other files by uncommenting the following line.
'.Attachments.Add ("C:\test.txt")
' In place of the following statement, you can use ".Display" to
' display the mail.
.Send

End With
End If
End With
On Error GoTo 0

Set OutMail = Nothing
Set OutApp = Nothing
End Sub
[/vba]

Используйте теги для форматирования кода!


:)
 
Ответить
Сообщение[vba]
Код
Sub Mail_Workbook_1()
' Works in Excel 2000, Excel 2002, Excel 2003, Excel 2007, Excel 2010, Outlook 2000, Outlook 2002, Outlook 2003, Outlook 2007, Outlook 2010.
' This example sends the last saved version of the Activeworkbook object .
Dim OutApp As Object
Dim OutMail As Object

Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)

On Error Resume Next
' Change the mail address and subject in the macro before you run it.

With Date
If Range("B1") = Date Then
With OutMail
.To = "andrej@gmail.com"
.CC = ""
.BCC = ""
.Subject = "Nezabud segodnia kupit moloko "
.Body = Range("A3")
'.Attachments.Add ActiveWorkbook.FullName
' You can add other files by uncommenting the following line.
'.Attachments.Add ("C:\test.txt")
' In place of the following statement, you can use ".Display" to
' display the mail.
.Send

End With
End If
End With
On Error GoTo 0

Set OutMail = Nothing
Set OutApp = Nothing
End Sub
[/vba]

Используйте теги для форматирования кода!

Автор - Andrej092
Дата добавления - 03.06.2013 в 17:08
Andrej092 Дата: Понедельник, 03.06.2013, 17:13 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 20% ±

Вот такой VBAесть. отсылает email если дата подходит. Только Outlook ругается что Excel хочет самостоятельно email послать, но это другая тема . smile


:)
 
Ответить
СообщениеВот такой VBAесть. отсылает email если дата подходит. Только Outlook ругается что Excel хочет самостоятельно email послать, но это другая тема . smile

Автор - Andrej092
Дата добавления - 03.06.2013 в 17:13
KuklP Дата: Понедельник, 03.06.2013, 18:09 | Сообщение № 4
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Andrej092, поделитесь с сообществом, зачем в коде нужны строки:
Цитата (Andrej092)
With Date
...
End With

? wacko


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеAndrej092, поделитесь с сообществом, зачем в коде нужны строки:
Цитата (Andrej092)
With Date
...
End With

? wacko

Автор - KuklP
Дата добавления - 03.06.2013 в 18:09
Andrej092 Дата: Понедельник, 03.06.2013, 18:42 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 20% ±

Цитата (KuklP)
Andrej092, поделитесь с сообществом, зачем в коде нужны строки:



Я просто думал что без них не будет работать строка:

If Range("B1") = Date Then

A "If Range("B1") = Date Then" нужно для сравнения даты, если совподают то email отсылается smile

А у меня вопрос может ли МАКРОС работать при закрытом EXCEL , если да то как это сделать а то никак не получается найти ответ на этот вопрос???? Я хочу чтоб емайлы сами рассылалиь и не надо было файл открывать smile Я только начинаю в Макрос вьезжать... smile


:)
 
Ответить
Сообщение
Цитата (KuklP)
Andrej092, поделитесь с сообществом, зачем в коде нужны строки:



Я просто думал что без них не будет работать строка:

If Range("B1") = Date Then

A "If Range("B1") = Date Then" нужно для сравнения даты, если совподают то email отсылается smile

А у меня вопрос может ли МАКРОС работать при закрытом EXCEL , если да то как это сделать а то никак не получается найти ответ на этот вопрос???? Я хочу чтоб емайлы сами рассылалиь и не надо было файл открывать smile Я только начинаю в Макрос вьезжать... smile

Автор - Andrej092
Дата добавления - 03.06.2013 в 18:42
KuklP Дата: Понедельник, 03.06.2013, 18:49 | Сообщение № 6
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
А Вы попробуйте без них.
Макрос может работать при закрытом Эксе, если он - скрипт VBS.
smile
Цитата (Andrej092)
чтоб имэйлы сами рассылались и не надо было файл открывать
Пишите макрос в аутглюке и будет Вам счастье.


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеА Вы попробуйте без них.
Макрос может работать при закрытом Эксе, если он - скрипт VBS.
smile
Цитата (Andrej092)
чтоб имэйлы сами рассылались и не надо было файл открывать
Пишите макрос в аутглюке и будет Вам счастье.

Автор - KuklP
Дата добавления - 03.06.2013 в 18:49
Andrej092 Дата: Понедельник, 10.06.2013, 10:27 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 20% ±

Цитата (KuklP)
Макрос может работать при закрытом Эксе, если он - скрипт VBS.


A вы бы не могли бы мне с этим помочь , а то я никак не могу дабится такого результата. Допишите, чего не хватает пощалуйста


:)
 
Ответить
Сообщение
Цитата (KuklP)
Макрос может работать при закрытом Эксе, если он - скрипт VBS.


A вы бы не могли бы мне с этим помочь , а то я никак не могу дабится такого результата. Допишите, чего не хватает пощалуйста

Автор - Andrej092
Дата добавления - 10.06.2013 в 10:27
Gustav Дата: Понедельник, 10.06.2013, 11:18 | Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2702
Репутация: 1123 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
Цитата (Andrej092)
Только Outlook ругается что Excel хочет самостоятельно email послать, но это другая тема

По этой теме можно вот здесь покопаться: http://www.excelworld.ru/forum/4-2431-1


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение
Цитата (Andrej092)
Только Outlook ругается что Excel хочет самостоятельно email послать, но это другая тема

По этой теме можно вот здесь покопаться: http://www.excelworld.ru/forum/4-2431-1

Автор - Gustav
Дата добавления - 10.06.2013 в 11:18
Andrej092 Дата: Понедельник, 10.06.2013, 11:24 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 20% ±

Цитата (Gustav)
По этой теме можно вот здесь покопаться


я находил ответ на этот вопрос. Там надо в outlook галочку в одмом месте поставить и всё будит ок . Но так как я не администратор то не могу этого сделать .... Но большое спасибо за ссылку hands thumb


:)
 
Ответить
Сообщение
Цитата (Gustav)
По этой теме можно вот здесь покопаться


я находил ответ на этот вопрос. Там надо в outlook галочку в одмом месте поставить и всё будит ок . Но так как я не администратор то не могу этого сделать .... Но большое спасибо за ссылку hands thumb

Автор - Andrej092
Дата добавления - 10.06.2013 в 11:24
Andrej092 Дата: Вторник, 18.06.2013, 17:05 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 20% ±

Здравствуйте. Вопрос . Если я пишу "If Range("B1") = Date Then" то всё отсылается правильно , но как только я хочу чтоб он проверил даты во всей колонне "If Range("B1:B20") = Date Then", то он отсылает в любом случае даже если дата ещё не сегодняшняя ..... Почему ??? sad


:)
 
Ответить
СообщениеЗдравствуйте. Вопрос . Если я пишу "If Range("B1") = Date Then" то всё отсылается правильно , но как только я хочу чтоб он проверил даты во всей колонне "If Range("B1:B20") = Date Then", то он отсылает в любом случае даже если дата ещё не сегодняшняя ..... Почему ??? sad

Автор - Andrej092
Дата добавления - 18.06.2013 в 17:05
AndreTM Дата: Вторник, 18.06.2013, 18:11 | Сообщение № 11
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
Цитата (Andrej092)
If Range("B1:B20") = Date Then
Потому что нельзя (в VBA) сравнить массив и значение напрямую...
Как-то так (в B1:B20 - список e-mail'ов):
[vba]
Код
For Each Cell in Range("B1:B20")
     With OutMail
         .To = Trim(Cell.Value)
' ... другие ваши поля
         .Send
     End With
Next
[/vba]


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
Сообщение
Цитата (Andrej092)
If Range("B1:B20") = Date Then
Потому что нельзя (в VBA) сравнить массив и значение напрямую...
Как-то так (в B1:B20 - список e-mail'ов):
[vba]
Код
For Each Cell in Range("B1:B20")
     With OutMail
         .To = Trim(Cell.Value)
' ... другие ваши поля
         .Send
     End With
Next
[/vba]

Автор - AndreTM
Дата добавления - 18.06.2013 в 18:11
Andrej092 Дата: Среда, 19.06.2013, 10:17 | Сообщение № 12
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 20% ±

AndreTM, thumb Большое спасибо за подсказку !!! smile


:)
 
Ответить
СообщениеAndreTM, thumb Большое спасибо за подсказку !!! smile

Автор - Andrej092
Дата добавления - 19.06.2013 в 10:17
Andrej092 Дата: Среда, 19.06.2013, 15:08 | Сообщение № 13
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 20% ±

AndreTM,

Как-то так (в B1:B20 - список e-mail'ов):

B1:B20 это список дат когда должны отправится сообщения а не список эмайлов, поэтому ваш метод неподходит.... sad


:)
 
Ответить
СообщениеAndreTM,

Как-то так (в B1:B20 - список e-mail'ов):

B1:B20 это список дат когда должны отправится сообщения а не список эмайлов, поэтому ваш метод неподходит.... sad

Автор - Andrej092
Дата добавления - 19.06.2013 в 15:08
AndreTM Дата: Четверг, 20.06.2013, 06:33 | Сообщение № 14
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
Andrej092,
Конечно, не подходит - под конкретно вашу задачу. Поскольку примера вашего файла так никто и не увидел.
А условие вы описываете как-то странно - то у вас "В столбец заносятся даты. Когда до нее остается неделя...", то у вас If [B1] = Date (что есть "дата равна")


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
Сообщение Andrej092,
Конечно, не подходит - под конкретно вашу задачу. Поскольку примера вашего файла так никто и не увидел.
А условие вы описываете как-то странно - то у вас "В столбец заносятся даты. Когда до нее остается неделя...", то у вас If [B1] = Date (что есть "дата равна")

Автор - AndreTM
Дата добавления - 20.06.2013 в 06:33
Andrej092 Дата: Четверг, 20.06.2013, 16:51 | Сообщение № 15
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 20% ±

AndreTM,

Hадо сравнить дату в ячейках B2:B11 с сегодняшней и если совподает автоматически выслать email.

Вы посмотрите своим профессиональным взглядом, может там чего за много записано или не так. Объясните что к чему, а то я только учюсь. И дополнительный вопрос. Если выйдет это сделать, то может можно чтоб из колонки C2:C11 добовлялись соответствующие ячейки в емайл в текст У меня сейчас стоит просто ".Body = Range("C1")"

Большое спасибо yes

P.S. Если будите писать объяснения в VBA EXCEL то пишите латинскими буквами у меня комп на работе не читает кирилицу sad


:)
 
Ответить
СообщениеAndreTM,

Hадо сравнить дату в ячейках B2:B11 с сегодняшней и если совподает автоматически выслать email.

Вы посмотрите своим профессиональным взглядом, может там чего за много записано или не так. Объясните что к чему, а то я только учюсь. И дополнительный вопрос. Если выйдет это сделать, то может можно чтоб из колонки C2:C11 добовлялись соответствующие ячейки в емайл в текст У меня сейчас стоит просто ".Body = Range("C1")"

Большое спасибо yes

P.S. Если будите писать объяснения в VBA EXCEL то пишите латинскими буквами у меня комп на работе не читает кирилицу sad

Автор - Andrej092
Дата добавления - 20.06.2013 в 16:51
Andrej092 Дата: Четверг, 20.06.2013, 16:53 | Сообщение № 16
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 20% ±

Fail biggrin
К сообщению приложен файл: 101-1-.xlsm (20.2 Kb)


:)
 
Ответить
СообщениеFail biggrin

Автор - Andrej092
Дата добавления - 20.06.2013 в 16:53
Bulava81 Дата: Четверг, 19.06.2014, 09:36 | Сообщение № 17
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 0% ±

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

[vba]
Код
Sub Mail_Workbook_1()
Dim OutApp As Object
Dim OutMail As Object

Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)

On Error Resume Next
' Change the mail address and subject in the macro before you run it.

' Nado sravnit datu v "B2:B11" s segodniashnei datoj i esli sovpodaet avtomaticheski vyslat email

If Range("B2:B11") = Date-3 Then
With OutMail
.To = "sklad@awt.ru"
.CC = ""
.Subject = "Finished bron"
.Body = "Text of the letter"
.Send

End With

Else
If Range("C2:C11") = Date-3 Then 'И так цикл повторять для каждого диапазона?
With OutMail
.To = "a.buzdugan@awt.ru"
.CC = ""
.BCC = ""
.Subject = "Finished bron"
.Body = "Text of the letter"
.Send

End With
End If
End If
On Error GoTo 0

Set OutMail = Nothing
Set OutApp = Nothing
End Sub
[/vba]


Сообщение отредактировал Bulava81 - Пятница, 20.06.2014, 07:31
 
Ответить
СообщениеУважаемые, не подскажите мне в рамках данного макроса хотелось бы решить следующие задачи:
Просматривать несколько диапазонов и сравнивать не с текущей датой, а с датой за три дня до текущей и для каждого диапазона сравнения дат свой адресат для отправки и при отправке прикреплять файл, с которым я работаю.
Насколько я вижу решение данного вопроса заключается в следующем (не могу сообразить где прописать прикрепление данного файла?):

[vba]
Код
Sub Mail_Workbook_1()
Dim OutApp As Object
Dim OutMail As Object

Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)

On Error Resume Next
' Change the mail address and subject in the macro before you run it.

' Nado sravnit datu v "B2:B11" s segodniashnei datoj i esli sovpodaet avtomaticheski vyslat email

If Range("B2:B11") = Date-3 Then
With OutMail
.To = "sklad@awt.ru"
.CC = ""
.Subject = "Finished bron"
.Body = "Text of the letter"
.Send

End With

Else
If Range("C2:C11") = Date-3 Then 'И так цикл повторять для каждого диапазона?
With OutMail
.To = "a.buzdugan@awt.ru"
.CC = ""
.BCC = ""
.Subject = "Finished bron"
.Body = "Text of the letter"
.Send

End With
End If
End If
On Error GoTo 0

Set OutMail = Nothing
Set OutApp = Nothing
End Sub
[/vba]

Автор - Bulava81
Дата добавления - 19.06.2014 в 09:36
Bulava81 Дата: Четверг, 19.06.2014, 11:25 | Сообщение № 18
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Господа, с прикреплением файла разобрался:)
[vba]
Код
.Attachments.Add "C:\Users\........xlsm"
[/vba]
Помогите с остальными вопросами!
[moder]Вопрос задан в новой теме. Эту закрываю


Сообщение отредактировал Bulava81 - Четверг, 19.06.2014, 11:38
 
Ответить
СообщениеГоспода, с прикреплением файла разобрался:)
[vba]
Код
.Attachments.Add "C:\Users\........xlsm"
[/vba]
Помогите с остальными вопросами!
[moder]Вопрос задан в новой теме. Эту закрываю

Автор - Bulava81
Дата добавления - 19.06.2014 в 11:25
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Отправка Email из Excel по конкретной дате. Помогите HELP!!! (Сигнализация Email-ом по наступлению конкретной даты)
  • Страница 1 из 1
  • 1
Поиск:

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