|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Помогите оптимизировать |
|
VBS/WSH/JS - Помогите оптимизировать
|
Новый участник Сообщения: 9 |
Dim objTextStream, TXT
Set objTextStream = CreateObject("Scripting.FileSystemObject").GetFile("E:\REGL\SEND\telo1.txt").OpenAsTextStream(1) TXT = objTextStream.ReadAll() objTextStream.Close Set objTextStream = Nothing dim Mas() Set objShellApp = CreateObject("Shell.Application") FolderPath = "E:\REGL\SEND\" Set objFolderItems = objShellApp.NameSpace(FolderPath).Items() objFolderItems.Filter 64, "*.xls" n = 0 For Each objFolderItem In objFolderItems n = n +1 ReDIM Preserve Mas(n) Mas(n)=objFolderItem.Path Next strDate=date strTime=time Dim oMyMail Set oMyMail = CreateObject("CDO.Message") oMyMail.To = "mail@mail.ru" oMyMail.From = "Информация <robot@mail.ru>" oMyMail.Subject = "Изменение цены от " & strTime & " " & strDate & "." oMyMail.TextBody = TXT lft=LBound(Mas) rgt=UBound(Mas) For i=lft To rgt oMyMail.AddAttachment Mas(i) next oMyMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 omyMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.mail.ru" oMyMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 oMyMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusername") = "robot@mail.ru" oMyMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "password" oMyMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465 oMyMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True oMyMail.Configuration.Fields.Update oMyMail.Send Dim oFSO Dim sDirectoryPath Dim oFolder Dim oDelFolder Dim oFileCollection Dim oFile Dim oFolderCollection Set oFSO = CreateObject("Scripting.FileSystemObject") sDirectoryPath = "E:\REGL\SEND\" set oFolder = oFSO.GetFolder(sDirectoryPath) set oFolderCollection = oFolder.SubFolders set oFileCollection = oFolder.Files for each oFile in oFileCollection oFile.Delete(True) Next For each oDelFolder in oFolderCollection oDelFolder.Delete(True) Next Set oFSO = Nothing Set oFolder = Nothing Set oFileCollection = Nothing Set oFile = Nothing ================ Скрипт прикрепляет как вложения файлы из папки E:\REGL\SEND\, вставляет текст из файла E:\REGL\SEND\telo1.txt в тело письма, в теме письма отображается число, месяц, год, часы, минуты, секунды отправления письма. Затем из папки E:\REGL\SEND все файлы удаляются. |
|
Отправлено: 13:10, 22-06-2015 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать nasedkin, что именно Вам не нравится в коде?
Мне вот не нравится, что Вы не используете тэг [code] для оформления кода на конференции, что не используете отступы в коде (или это следствие неиспользования тэга). Не нравится, что никак не проверяется существование файла «E:\REGL\SEND\telo1.txt», существование пути «E:\REGL\SEND» перед попыткой их использования. Вместо использования массива и «ReDim Preserve» лучше использовать коллекцию (словарь). Код: чересчур излишен. Есть вариант куда проще: Последнее: Set oFSO = CreateObject("Scripting.FileSystemObject") sDirectoryPath = "E:\REGL\SEND\" set oFolder = oFSO.GetFolder(sDirectoryPath) set oFolderCollection = oFolder.SubFolders set oFileCollection = oFolder.Files for each oFile in oFileCollection oFile.Delete(True) Next For each oDelFolder in oFolderCollection oDelFolder.Delete(True) Next Ну, и дважды создаётся объект «Scripting.FileSystemObject» — не есть хорошо. |
Отправлено: 16:23, 22-06-2015 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 9
|
Профиль | Отправить PM | Цитировать Dim objTextStream, TXT FolderPath = "d:\dd\" dim Mas2() Set objShellApp = CreateObject("Shell.Application") Set objFolderItems = objShellApp.NameSpace(FolderPath).Items() objFolderItems.Filter 64, "*.txt" MM = 0 For Each objFolderItem In objFolderItems MM = MM +1 ReDIM Preserve Mas2(MM) Mas2(MM)=objFolderItem.Path Next TXT="" For ii=1 to MM Set objTextStream = CreateObject("Scripting.FileSystemObject").GetFile(MAS2(II)).OpenAsTextStream(1) TXT = TXT+objTextStream.ReadAll() MsgBox TXT objTextStream.Close Set objTextStream = Nothing NEXT dim Mas() Set objShellApp = CreateObject("Shell.Application") Set objFolderItems = objShellApp.NameSpace(FolderPath).Items() objFolderItems.Filter 64, "*.xls" n = 0 For Each objFolderItem In objFolderItems n = n +1 ReDIM Preserve Mas(n) Mas(n)=objFolderItem.Path Next strDate=date strTime=time Dim oMyMail Set oMyMail = CreateObject("CDO.Message") oMyMail.To = "mail@mail.ru" oMyMail.From = "Информация <robot@mail.ru>" oMyMail.Subject = "Изменение цены от " & strTime & " " & strDate oMyMail.TextBody = TXT For i=1 To N oMyMail.AddAttachment Mas(i) next oMyMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 omyMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.mail.ru" oMyMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 oMyMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusername") = "robot@mail.ru" oMyMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "password" oMyMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465 oMyMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True oMyMail.Configuration.Fields.Update oMyMail.Send |
Отправлено: 16:52, 22-06-2015 | #3 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
MySQL - Помогите оптимизировать запросы! | evpu | Программирование и базы данных | 19 | 14-09-2015 15:34 | |
CMD/BAT - помогите оптимизировать скрипт | dredre | Скриптовые языки администрирования Windows | 1 | 18-09-2011 05:10 | |
помогите оптимизировать систему | BABA ZINA | Выбор отдельных компонентов компьютера и конфигурации в целом | 6 | 07-01-2011 22:19 | |
Помогите оптимизировать офис. Голова пухнит | Joni | Флейм | 11 | 19-08-2009 11:55 | |
CMD/BAT - Помогите оптимизировать код | n4! | Скриптовые языки администрирования Windows | 3 | 08-04-2008 05:59 |
|