например

Private Sub Workbook_AfterSave(ByVal Success As Boolean)
    Beep
End Sub

Это работает только в «ThisWorkbook» и только в 1 электронной таблице за раз, а не в моем файле personal.xlsb. (Вдохновленный отсюда.)

1 ответ1

3
  1. Нажмите F4 для отображения свойств проекта.
  2. Назовите VBAProject для вашей личной книги Personal
  3. Создайте подпрограмму, которая вызывает звуковой сигнал.

    Public Sub MakeItBeep
        Beep
    End Sub
    
  4. В рабочей книге, в которой вы хотите включить это, нажмите Инструменты >> Ссылки в строке меню.
  5. Нажмите Обзор ...
  6. Найдите свой файл Personal.xls и выберите его. (Он может находиться в нескольких разных местах, поэтому поиск диска C:\ как правило, является самым простым способом найти его.)
  7. В нужном случае вашей рабочей книги вставьте этот код (с учетом названия модуля, конечно).

    Personal.Module1.MakeItBeep
    

Есть несколько проблем с этим, и я действительно не рекомендую это.

  1. Это гораздо больше кода и работы, чем просто вызов Beep напрямую.
  2. Это, скорее всего, приведет к ошибке для любого другого пользователя, который работает с книгой. Им нужно будет отключить макросы в этой книге. Так что, если есть какие-то другие макросы, которые должны работать, вы не можете сделать это.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .