![]() |
Отправка файла по почте с любым именем и определенным расширением
Вложений: 1
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", но звездочку видимо не воспринимает. Почему?Как сделать чтобы имя было любое. При запуске скрипта возникает ошибка , см. скриншот. |
Причём тут «звёздочка»? У Вас ошибка совсем в другой строке:
Код:
.AddAttachment Path & Items.Item(0) Код:
.AddAttachment Path & Items.Item(0).Path |
Вложений: 1
понял почему возникает эта ошибка .AddAttachment Path & Items.Item(0) . Забыл в строке Path добавить слеш, Path = "\\Directory\"
Но задача отправки файла по почте с любым именем и определенным расширением открыта. Когда пишу конкретное имя в имени файла то отправка происходит, например Items.Filter 192, "1.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 |
Цитата:
Код:
WScript.Echo Items.Count |
В итоге помогло это решение.
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 |
Время: 09:17. |
Время: 09:17.
© OSzone.net 2001-