VBA Code для удаления макроса, автоматически открывающегося при открытии файла - PullRequest
0 голосов
/ 20 мая 2019

У меня есть главный файл, который автоматически открывает форму пользователя при запуске, позволяет пользователям выбирать параметры, а затем сохраняет файл как новую версию, измененную на основе этих параметров. Код, который инициирует это действие, назначается объекту ThisWorkbook. Я хотел бы, чтобы эта версия не содержала макрос, который открывает форму в начале. Есть ли способ стереть эту часть кода при сохранении новой версии?

1 Ответ

0 голосов
/ 20 мая 2019

Самый простой способ сделать это - выполнить проверку перед запуском любого кода.Это не удалит код, а только остановит его выполнение.

Проверка может быть именем рабочей книги или значением в ячейке

например

Private Sub Workbook_Open()
    If ThisWorkbook.Name <> "MyMacroWorkbook.xlsx" Then Exit Sub
    'current code here
End Sub

или

Private Sub Workbook_Open()
    If ThisWorkbook.Worksheets("HiddenWorksheet").Cells(1, 1).Text <> "RunMyMacro" Then Exit Sub
    'current code here
End Sub

Другой метод заключается в изменении кода VBA, но это опасно и обычно блокируется в большинстве организаций, поскольку потенциально потенциально очень опасно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...