Terminators писал(а):Diivika,
напишите код, как это делается.
В конечном результате я хочу получить такой макрос:
Есть папка, в ней лежат защищенные однотипные файлы. Они по очереди все открываются (как это сделать уже реализовано).
Необходимо внутрь поместить код, который совершает манипуляции непосредственно в файле (копирование, вставка, изменение формата) - это тоже реализованно. Но перед этим необходимо снять защиту и ввести пароль, это делается с помощью нажатия кнопки, что находиться в этих файлах.
Этот макрос как раз ее и нажимает.
Если есть другой способ ее нажать, я буду рада помощи.
Другая моя идея: это перезаписывать файл как другой временный, а потом записать снова как изначальный. Но как это написать?
Данный код прописывает дает пользователю выбрать, в какой папке лежат файлы и записывает путь в ячейку d3.
Sub pGetPath() 'procedure for button "Browse"
Dim fd As FileDialog
Dim vrtSelectedItem As Variant
Set fd = Application.FileDialog(msoFileDialogFolderPicker)
With fd
If .Show = -1 Then
For Each vrtSelectedItem In .SelectedItems
ThisWorkbook.Sheets("Main").Range("D3").Value = vrtSelectedItem
Next vrtSelectedItem
End If
End With
End Sub
Данный код поочери открывает все сегменты и потом пересохраняет их
Sub OpenAllSegments()
Dim fFSO As New FilesystemObject
Dim fFolder, fNewFolder, fOldFolder As Folder
Dim fFiles As Files
Dim fFile, fTemplateFile As File
Dim vUnion As Range
Application.DisplayAlerts = False
Set fFolder = fFSO.GetFolder(ThisWorkbook.Sheets("Main").Range("D3").Value)
Set fFiles = fFolder.Files
For Each fFile In fFiles
'And Mid(fFile.Name, 9, 3) >= 394
If fFile.Name Like "Segment ###.xls" Then
Application.Workbooks.Open Filename:=fFile.Path, UpdateLinks:=0
здесь и должен помещаться код запуска макроса(нажатия кнопки, ввод пароля из буфера обмена и нажатия Энтер )и последующих манипуляций с книгой
Application.Workbooks(fFile.Name).Close SaveChanges:=False
End If
Next
End Sub