|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Помогите новичку разобраться со скриптом(vbs). |
|
VBS/WSH/JS - Помогите новичку разобраться со скриптом(vbs).
|
Новый участник Сообщения: 12 |
Профиль | Отправить PM | Цитировать Есть код. Украденный с кого то форума. Я честно пытался разобраться несколько дней, но ничего не вышло, он не работает даже в оригинальной версии.
Суть такова: скрипт должен проверять последние изменение в файле (дату или время) сопоставлять с текущем временем и если это время на 20 часов или 1 день меньше настоящего, то отправлять сообщение по внешней почте, в моем случае маил. Dim objFSO, objFile, strFilePath, lngDifference strFilePath = "с:\text.txt" Set objFSO = CreateObject("Scripting.FileSystemObject") If Not objFSO.fileexists(strFilePath) Then ExitScript() Set objFile = objFSO.getfile(strFilePath) lngDifference = DateDiff("h", objFile.DateLastModified, Now) If CLng(lngDifference) < 20 Then MsgBox "разница: " & lngDifference, ,"не посылать письмо" ExitScript() Else MsgBox "разница: " & lngDifference, ,"послать письмо" 'SendMail() ExitScript() End If Sub ExitScript() MsgBox "выход" Set objFile = Nothing Set objFSO = Nothing Wscript.quit End Sub Sub SendMail() Const cdoSendUsingPickup = 1 Set objMessage = CreateObject("CDO.Message") objMessage.emailFrom = "******@mail.ru" objMessage.Subject = "тема" objMessage.From = emailFrom objMessage.To = "***@al.ru" objMessage.TextBody = "текст" objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 1 objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.mail.ru" objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465 objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = emailFrom objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "******" objMessage.Configuration.Fields.Update objMessage.Send End Sub 1. Чего я вообще понять не могу это с письмом, оно отправляться вообще не хочет, даже когда отдельным скриптом пишу, может быть дело в mail.ru? 2. Как видно из кода, сначала проверяем разницу (всплывает окно), потом отправляем или нет (всплывает окно), так вот проверка работает отлично, но второе окно не всплывает, вместо него вылетает пустое с надписью "выход". |
|
Отправлено: 10:15, 15-03-2013 |
Ушёл из жизни Сообщения: 6021
|
Профиль | Отправить PM | Цитировать Цитата Vector101:
Dim objFSO, objFile, strFilePath, lngDifference strFilePath = "C:\text.txt" Set objFSO = CreateObject("Scripting.FileSystemObject") If Not objFSO.fileexists(strFilePath) Then ExitScript() Set objFile = objFSO.getfile(strFilePath) lngDifference = DateDiff("h", objFile.DateLastModified, Now) If CLng(lngDifference) < 20 Then MsgBox "разница: " & lngDifference, ,"не посылать письмо" ExitScript() Else MsgBox "разница: " & lngDifference, ,"послать письмо" SendMail() ExitScript() End If Sub ExitScript() MsgBox "выход" Set objFile = Nothing Set objFSO = Nothing Wscript.quit End Sub Sub SendMail() Const EmailFrom = "gora***@list.ru" ' от кого будет отправляться e-mail Const EmailPassword = "12345678" ' пароль от e-mail Const strSmtpServer = "smtp.list.ru" ' smtp сервер Const EmailTo = "gora***@list.ru" ' кому будет отправляться e-mail Set objEmail = CreateObject("CDO.Message") objEmail.From = EmailFrom objEmail.To = EmailTo objEmail.Subject = "Здесь должен быть текст заголовка" objEmail.Textbody = "Текста Вашего письма" objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusername") = EmailFrom objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = EmailPassword objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = strSmtpServer objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 objEmail.Configuration.Fields.Update objEmail.Send End Sub |
|
Отправлено: 13:57, 15-03-2013 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 12
|
Профиль | Отправить PM | Цитировать т.е. получается нужно было кое где поставить пробелы и табуляцию?)
Однако по конкретно вашему коду новая ошибка, проблема с выводом второго окна не решена (письмо слать или не слать) - это не столь важно, главное что работает. Но зато я теперь уверен что при выполнение нужных условий он пытается отправить. А с почтой тоже самое Когда делаю отдельным скриптом - ошибки нет, но и письма нет, а вот в этой общей картине ругаеться на 44 строку, 2 символ, код ошибки 80040213 ( objEmail.Send) - вот эта буква "о" получается. |
Отправлено: 14:53, 15-03-2013 | #3 |
Ушёл из жизни Сообщения: 6021
|
Профиль | Отправить PM | Цитировать Цитата Vector101:
Цитата Vector101:
Цитата Vector101:
Цитата Vector101:
Цитата Vector101:
Цитата Vector101:
Лишние концевые пробелы во всех строках Переменная emailFrom вовсе не определена. |
||||||
Последний раз редактировалось gora, 15-03-2013 в 16:08. Отправлено: 15:40, 15-03-2013 | #4 |
Новый участник Сообщения: 12
|
Профиль | Отправить PM | Цитировать Огромное Вам спасибо gora! Все работает на 25ом порте. Что самое интересное - это то что я эти настройки проверял 100500 раз, на самом mail.ru!!! Уж не знаю в чем беда, но теперь все работает!
СПАСИБО!!!!! |
|
Отправлено: 16:08, 15-03-2013 | #5 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
VBS/WSH/JS - Помогите с VBS скриптом | coptercor | Программирование и базы данных | 2 | 21-09-2011 08:48 | |
MSFT SQL Server - Помогите со скриптом | e2site | Программирование и базы данных | 2 | 06-05-2009 02:34 | |
VBS/WSH/JS - Проблема со скриптом VBS! | voler | Программирование и базы данных | 5 | 19-06-2007 14:38 | |
Помогите разобраться новичку | Indi | Видео и аудио: обработка и кодирование | 5 | 17-02-2007 09:42 | |
Проблема со скриптом на VBS | UnDetect | Microsoft Windows NT/2000/2003 | 0 | 14-04-2006 13:26 |
|