Здравствуйте!
Помогите, пожалуйста, сделать проверку в коде на правильность открытия книг.
Есть папка, в которой находятся файлы с формами с расширением ".xlsx" и с именем, которое начинается с "1*".
В этой же папке книга ThisWorkbook.
Ежедневно старые файлы с формами удаляются, а новые сохраняются.
Файлы сохраняются с именами 5_29.11, 10_29.11, 11_29.11, 13_29.11, и т.д.
Завтра это будут книги с именами 5_30.11, 10_30.11 и т.д.
Но в коде для проверки открываем только формы, например, 11_29.11, 13_29.11, 14_29.11,
в каждой форме есть номер по классификатору, например, 0682565, 0682583, 0682570.
Эти номера всегда расположены в формах в кодовой зоне (приложила файл, чтобы наглядно показать).
Так вот, мне надо сделать проверку, что выбраны именно эти формы 0682565, 0682583, 0682570 сохраненные с именами 11_29.11, 13_29.11, 14_29.11.
Так как могут ошибочно быть выбраны файлы с другими номерами, либо необходимая мне форма ошибочно сохранена под другим именем,
поэтому целесообразно проверить именно коды формы в открываемых файлах.
Если я открываю одну форму я проверяю так:
Код |
---|
Dim Forma As Range
With Worksheets(2)
Set Forma = Rows("1:5").Find("KodForma", , xlValues, xlPart)
KodForma = Forma.Offset(, 1)
If KodForma = "0682565" Then
код .....
Else
MsgBox ("Это форма: " & KodForma & " выбрана неверно." & vbNewLine & " Необходимо выбрать форму '0682565'")
.Close SaveChanges:=False
Exit Sub
End If
End With
|
Помогите, пожалуйста, подобную проверку сделать при открытии выбранных сразу нескольких файлов в папке
'Открытие всех файлов с расширением ".xlsx" и с именем, которое начинается с "1*" (сохраненные с именами 11_29.11, 13_29.11, 14_29.11, если конечно сохранены верно) в одной папке с книгой ThisWorkbook
Код |
---|
MyPath = "E:\2_ХХ\_2023\.......\ХХХ_ежедневный"
MyName = Dir(MyPath & "\" & "1*.xlsx")
FN = MyPath & "\" & MyName
Do While MyName <> ""
FN = MyPath & "\" & MyName
Excel.Application.Workbooks.Open FN
MyName = Dir
Loop
|