Ребятки, добрый вечер!
Вынужден обратиться к вам за помощью.
При помощи поиска я нашел необходимый мне код (он в модуле прилагаемого файла). Склеить сложные макросы не под силу.
Мне необходимо, чтобы путь который указывается в следующем виде
Const FLDR = "C:\Users\Евгеша\Desktop\Макросы\" ' указать путь
был заменен на возможность выбора нужной папки через ДИАЛОГОВОЕ ОКНО.
Ниже привожу часть кода, о котором веду речь (автор господин Казанский
Sub Удаление_макросов()
Const FLDR = "C:\Users\Евгеша\Desktop\Макросы\" ' указать путь
Dim w, q
If MsgBox("Внимание!!!" & vbLf & _
"Будут удалены ВСЕ компоненты VBA (макросы, формы, пользовательские функции) из ВСЕХ файлов Excel в папке " _
& FLDR & vbLf & "Продолжить?", vbCritical + vbYesNoCancel + vbDefaultButton2) <> vbYes Then Exit Sub
Application.EnableEvents = False 'для запрещения макросов Workbook_Open в открываемых книгах
w = Dir(FLDR & "*.xls*") 'фактически *.xls*
Do While w <> ""
With Workbooks.Open(FLDR & w)
'ActiveWorkbook.CheckCompatibility = False ' отключает проверку совместимости при сохранении этой книги
.Close DeleteAllVBA 'если компонентов VBA не было, закрыть без сохранения
End With
w = Dir
Loop
Application.EnableEvents = True
End Sub
Самый лучший вариант, если этот макрос будет работать не только с файлами, размещенными в этой папке, а и с файлами, которые находятся в подпапках.
Прошу вашей помощи ...
Вынужден обратиться к вам за помощью.
При помощи поиска я нашел необходимый мне код (он в модуле прилагаемого файла). Склеить сложные макросы не под силу.
Мне необходимо, чтобы путь который указывается в следующем виде
Const FLDR = "C:\Users\Евгеша\Desktop\Макросы\" ' указать путь
был заменен на возможность выбора нужной папки через ДИАЛОГОВОЕ ОКНО.
Ниже привожу часть кода, о котором веду речь (автор господин Казанский
Sub Удаление_макросов()
Const FLDR = "C:\Users\Евгеша\Desktop\Макросы\" ' указать путь
Dim w, q
If MsgBox("Внимание!!!" & vbLf & _
"Будут удалены ВСЕ компоненты VBA (макросы, формы, пользовательские функции) из ВСЕХ файлов Excel в папке " _
& FLDR & vbLf & "Продолжить?", vbCritical + vbYesNoCancel + vbDefaultButton2) <> vbYes Then Exit Sub
Application.EnableEvents = False 'для запрещения макросов Workbook_Open в открываемых книгах
w = Dir(FLDR & "*.xls*") 'фактически *.xls*
Do While w <> ""
With Workbooks.Open(FLDR & w)
'ActiveWorkbook.CheckCompatibility = False ' отключает проверку совместимости при сохранении этой книги
.Close DeleteAllVBA 'если компонентов VBA не было, закрыть без сохранения
End With
w = Dir
Loop
Application.EnableEvents = True
End Sub
Самый лучший вариант, если этот макрос будет работать не только с файлами, размещенными в этой папке, а и с файлами, которые находятся в подпапках.
Прошу вашей помощи ...