@fawor1t

Как составить цикл архивирования всех xls в папке,каждый в отдельный файл с отдельным паролем?

Привет всем! Пытался решить задачу bat скриптом и это успешно удалось,но появилась причина считывать содержимое ячейки xls и тут batch занемог :(
Помогите пожалуйста составить цикл перебора всех файлов xls в определенной папке:
для каждого файла:
-открыть ,считать содержимое ячейки (например R4C36) и записать в переменную1
-открыть из папки txt файл с именем переменной1
-записать содержимое txt (1 строку в переменную2 ,2 строку в переменную3)
-запустить архиватор где пароль переменная2 ,имя файла переменная3)
  • Вопрос задан
  • 230 просмотров
Решения вопроса 1
@fawor1t Автор вопроса
Пораскинул мозгами, прислушался к факту что пароли нечего хранить отдельно и сделал следующее на excel-vba
Dim sFolder
Dim Ofile

Sub Workbook_Open()
   sFolder = "С:\01\xls\"

Set oFSO = CreateObject("Scripting.FileSystemObject")

For Each Ofile In oFSO.GetFolder(sFolder).Files
  If UCase(oFSO.GetExtensionName(Ofile.Name)) = "XLS" Then
    ProcessFiles oFSO, Ofile
  End If
  
Next

Set oFSO = Nothing

End Sub
Sub ProcessFiles(FSO, File)

Dim excel

Workbooks.Open Filename:=Ofile
excel = ActiveCell.Cells(11, 1).Value

ActiveWorkbook.Close

Windows("start.xlsm").Activate
    Sheets("Пароли").Select
a = Range("A1:B10").Find(excel).Row
b = Range("A1:B10").Find(excel).Column


pass = Sheets("Пароли").Cells(a, b + 1).Value
mail = Sheets("Пароли").Cells(a, b + 2).Value

FolderName = "С:\01\zip\"
PathZipProgram = "C:\Program Files\7-Zip\"
smail = FolderName + mail + ".zip"

ShellStr = PathZipProgram & "7z.exe a -tzip -p" & pass & "" & " " & smail & " " & Ofile & ""

Shell ShellStr




End Sub
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы