Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Отправка файла по почте с любым именем и определенным расширением

Ответить
Настройки темы
VBS/WSH/JS - [решено] Отправка файла по почте с любым именем и определенным расширением

Новый участник


Сообщения: 48
Благодарности: 1

Профиль | Отправить PM | Цитировать


Изображения
Тип файла: jpg 1-1.JPG
(13.9 Kb, 13 просмотров)
Path = "\\Directory"
Set Items = CreateObject("Shell.Application").NameSpace(Path).Items
Items.Filter 192, "*.doc"
If Items.Count = 1 Then
Web = "http://schemas.microsoft.com/cdo/configuration/"
With CreateObject("CDO.Message")
.From = "xxxmail"
.To = "xxxmail"
.Bcc = "xxxmail"
.Subject = "test"
.Textbody = "test"
.AddAttachment Path & Items.Item(0)
.Configuration.Fields.Item (Web & "sendusing") = 2
.Configuration.Fields.Item (Web & "smtpserver") = "xxxsmtp"
.Configuration.Fields.Item (Web & "smtpserverport") = 25
.Configuration.Fields.Update
.Send
End with
with CreateObject("Scripting.FileSystemObject")
.MoveFile "\\directory\*.doc", "directory\dicrectory1"
end with
end if

Прописал Items.Filter 192, "*.doc", но звездочку видимо не воспринимает. Почему?Как сделать чтобы имя было любое.
При запуске скрипта возникает ошибка , см. скриншот.

Отправлено: 15:06, 01-07-2016

 

Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Причём тут «звёздочка»? У Вас ошибка совсем в другой строке:
Код: Выделить весь код
.AddAttachment Path & Items.Item(0)
Попробуйте:
Код: Выделить весь код
.AddAttachment Path & Items.Item(0).Path
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:32, 01-07-2016 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 48
Благодарности: 1

Профиль | Отправить PM | Цитировать


Изображения
Тип файла: jpg 2-2.JPG
(14.2 Kb, 10 просмотров)

понял почему возникает эта ошибка .AddAttachment Path & Items.Item(0) . Забыл в строке Path добавить слеш, Path = "\\Directory\"

Но задача отправки файла по почте с любым именем и определенным расширением открыта. Когда пишу конкретное имя в имени файла то отправка происходит, например Items.Filter 192, "1.doc".
А вот если проставить звездочку, то ошибку не выдает, но и письмо не приходит

Отправлено: 16:49, 01-07-2016 | #3


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата FantomasAnand:
понял почему возникает эта ошибка .AddAttachment Path & Items.Item(0) . Забыл в строке Path добавить слеш, Path = "\\Directory\" »
И я не обратил внимания.

Цитата FantomasAnand:
Но задача отправки файла по почте с любым именем и определенным расширением открыта. Когда пишу конкретное имя в имени файла то отправка происходит, например Items.Filter 192, "1.doc".
А вот если проставить звездочку, то ошибку не выдает, но и письмо не приходит »
Начните с требования обязательного объявления переменных «Option Explicit».

Отправлено: 16:54, 01-07-2016 | #4


Новый участник


Сообщения: 48
Благодарности: 1

Профиль | Отправить PM | Цитировать


Цитата Iska:
Начните с требования обязательного объявления переменных «Option Explicit». »
Прописал, ошибок нет, но также не работает отправка.Точнее Не отправка не работает, а скорее поиск "*.doc". он просто как будто не находит там файла. Допусти если прописать явное имя файла, но которого в папке нет, то он тоже ошибок не даст и ничего не отправит.

Option explicit
dim Path
dim Items
Path = "\\Directory\"
Set Items = CreateObject("Shell.Application").NameSpace(Path).Items
Items.Filter 192, "*.doc"
If Items.Count = 1 Then
Web = "http://schemas.microsoft.com/cdo/configuration/"
With CreateObject("CDO.Message")
.From = "xxxmail"
.To = "xxxmail"
.Bcc = "xxxmail"
.Subject = "test"
.Textbody = "test"
.AddAttachment Path & Items.Item(0)
.Configuration.Fields.Item (Web & "sendusing") = 2
.Configuration.Fields.Item (Web & "smtpserver") = "xxxsmtp"
.Configuration.Fields.Item (Web & "smtpserverport") = 25
.Configuration.Fields.Update
.Send
End with
with CreateObject("Scripting.FileSystemObject")
.MoveFile "\\directory\*.doc", "directory\dicrectory1"
end with
end if

Отправлено: 17:27, 01-07-2016 | #5


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата FantomasAnand:
Прописал, ошибок нет, »
Я не вижу объявления переменной Web. Так что ошибка должна была быть. Если её нет — вероятно, до отсылки дело попросту не доходит. Вы уверены, что у Вас там ровно один файл *.doc?! Я — нет. Добавьте перед условием:
Код: Выделить весь код
WScript.Echo Items.Count
и проверьте. Например, есть вероятность наличия там скрытых временных файлов вида «~$….doc».

Отправлено: 22:53, 01-07-2016 | #6


Новый участник


Сообщения: 48
Благодарности: 1

Профиль | Отправить PM | Цитировать


В итоге помогло это решение.

Path = "\\Directory\"
Set Items = CreateObject("Shell.Application").NameSpace(Path).Items
Items.Filter 192, "*.doc"
If Items.Count = 1 Then
Web = "http://schemas.microsoft.com/cdo/configuration/"
With CreateObject("CDO.Message")
.From = "xxxmail"
.To = "xxxxmail"
.Bcc = "xxxxxmail"
.Subject = "test"
.Textbody = "test"
.AddAttachment Path & Items.Item(0)
.Configuration.Fields.Item (Web & "sendusing") = 2
.Configuration.Fields.Item (Web & "smtpserver") = "xxx-smtp"
.Configuration.Fields.Item (Web & "smtpserverport") = 25
.Configuration.Fields.Update
.Send
End with
with CreateObject("Scripting.FileSystemObject")
.MoveFile "\\Directory\*.doc", "\\Directory\Backup"
end with
end if

Отправлено: 08:48, 04-07-2016 | #7



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Отправка файла по почте с любым именем и определенным расширением

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBS/WSH/JS - Отправка по почте последнего файла .log, созданного по дате и времени alex_frog Скриптовые языки администрирования Windows 0 03-02-2013 17:32
CMD/BAT - Поиск файла по диску с определенным расширением 91892823 Скриптовые языки администрирования Windows 3 18-09-2012 00:11
VBS/WSH/JS - Отправка по почте и перемещение файла одновременно!!! malder Скриптовые языки администрирования Windows 4 19-10-2011 17:11
CMD/BAT - [решено] Копирование файла по расписанию и его отправка по почте LokkyZ Скриптовые языки администрирования Windows 8 03-10-2011 16:49
Отправка файла по почте через контекстное меню vagner_HATE Microsoft Windows 2000/XP 3 27-12-2005 16:02




 
Переход