Как открыть Excel без запуска макроса Workbooks.Open в нем

У меня есть код VBA, который вызывает мою процедуру при открытии этого Excel.

Sub WorkBook_Open()
Call Sheets("Result").main
End Sub

Меня беспокоит то, что основная функция будет отправлять электронную почту. Так что в будущем, если я захочу отредактировать этот Excel, как я могу открыть его, не вызывая вызов?

Сначала я хотел использовать командную строку для ежедневного запуска функции vba и автоматически отправлять этот отчет.

4 ответа

Решение
  1. Откройте приложение Excel.
  2. Перейдите в Файл ~ Открыть или Файл ~ Недавние.
  3. Удерживайте Shift при открытии файла.

NB. Это не сработает, просто выбрав рабочую книгу Excel для открытия.
Вам нужно сначала открыть Excel, а затем открыть книгу.

Редактировать:

Меня беспокоит то, что основная функция будет отправлять электронную почту.

Не добавляйте свой код в Workbook_Open событие, вместо этого добавьте его в событие нажатия кнопки - оно никогда не будет отправлять электронные письма, пока вы не нажмете кнопку.

Я нашел для себя следующие работы в Office 365 (возможно, и в других версиях Excel):

  1. Открывайте Excel напрямую, не щелкайте книгу дважды, чтобы запустить Excel
  2. Файл / Открыть / Обзор
  3. Перейдите к книге, которую хотите открыть, щелкните по ней одним щелчком мыши
  4. Щелкните раскрывающийся список рядом с "Открыть" и "Открыть в защищенном просмотре".

Если вы хотите продолжить редактирование на этом этапе, вам нужно будет щелкнуть "Разрешить редактирование" во всплывающем окне, которое должно появиться прямо под строкой меню. Когда я это делаю, у меня есть макросы, которые пытаются сразу же запустить, но не работают, и я могу редактировать VBA. YMMV есть.

Начиная с какой-то определенной версии, удержание Shift больше не работает. Я добавил следующее, чтобы восстановить функционирование:

Частная подгруппа Workbook_Open()

Application.OnKey Key:="{+}", Процедура:="StopMacro" '+ — это клавиша Shift https://learn.microsoft.com/en-us/office/vba/api/excel.application.onkey

Позвоните в MakeRec

Конец субтитра

ПодстопМакрос()

' ничего не делать.

Конец субтитра

Вам не нужно сначала открывать Excel. Просто удерживайте нажатой клавишу Shift, дважды щелкнув файл .xlsm.

Другие вопросы по тегам