![]() |
Перебор Xls В папке, с архивированием каждого файла разным паролем
Всем привет, не смог считать значение ячейки в файле xls через bat файл и залез в неведомые дебри vbs .Извините заранее если вопросы получились глупыми или неуместными
Логическая структура у меня получилась такая цикл перебора всех файлов xls в определенной папке: для каждого файла: -открыть ,считать содержимое ячейки (например R4C36) и записать в переменную1 -открыть из папки txt файл с именем переменной1 -записать содержимое txt (1 строку в переменную2 ,2 строку в переменную3) -запустить архиватор где пароль переменная2 ,имя файла переменная3) Далее сам код ,помимо ошибок в синтаксисе не смог разобраться вот в таких моментах 1) При переборе через For Each oFile In oFSO.GetFolder(sFolder).Files , oFile является ли переменной которая содержит имя файла ? 2) Если да,то как использовать значение oFile в пути открытии книги? Workbooks.Open "C:\???.xls" ' 3) Если нет,то как передать имя найденного файла в текущем цикле в переменную? 4) какой правильный синтаксис указания переменной в пути? & CStr(переменная) верно ли? "U:\ZP\zip\& CStr(переменная) &.zip" 5) Действительно ли этим var oWshShell = new ActiveXObject("WScript.Shell") можно запустить exe файл с параметрами? Код:
Dim sFolder |
fawor1t, не хватает малости — упаковать в архив примеры файлов .xls и .txt, и приложить его к сообщению. Их содержимое важно для понимания работы кода и его отладки.
Цитата:
Скрытый текст
Код:
Option Explicit Цитата:
Кроме того, в VB/VBScript/VBA есть две особенности — неявное преобразование типов и использование свойства по умолчанию. У класса File свойством по умолчанию является свойство .Path (можно посмотреть любым браузером объектов: WSH: браузеры объектов автоматизации (OLE/COM/Automation) — Серый форум). Посему две выделенные строки в таком коде: Код:
With WScript.CreateObject("Scripting.FileSystemObject") Ответ на вопрос — переменная oFile содержит объект типа File. Цитата:
Код:
Workbooks.Open oFile.Path Цитата:
Код:
"U:\ZP\zip\" & Переменная & ".zip" Цитата:
|
fawor1t,
При наличии отсутствия Вашей реакции на вопросы, в первом приближении вариант скрипта
Код:
ExtIn = "xls" 'Расширение Excel-файла |
megaloman, повторюсь, лучше использовать возвращаемую ссылку, т.е., не:
Код:
XL.Workbooks.Open XlsName Код:
Set objWorkbook = XL.Workbooks.Open(XlsName) |
Привет всем еще раз,увы вчера не смог зайти на форум ,но в итоге решил задачу сам. Разве что пароли из хранения в файлах перенес в файл эксель . Спасибо за ответы благодаря им познакомлюс с vba поближе)
Код:
Dim sFolder |
Время: 08:09. |
Время: 08:09.
© OSzone.net 2001-