Workbook_Open () не выполняется с уже запущенным Excel - PullRequest
1 голос
/ 25 января 2012

с помощью Excel 2007 Я запрограммировал макрос, который я хотел бы начать с вызова Workbook_Open () (помещенного в "thisWorkbook").

Это прекрасно работает, пока это новый "сеанс Excel", поэтому он запускается вместе с xlsm-файлом / я запускаю Excel и загружаю файл.

Однако, как только Excel уже запущен, функция Workbook_Open () не выполняется. В противном случае макрос по-прежнему работает нормально, как только я запускаю его вручную после загрузки рабочей книги.

Чтобы уточнить: это происходит, даже если никакая другая рабочая книга не открыта, просто превосходите ее, поэтому я убежден, что никакие другие вычисления не могут помешать вызову Workbook_Open () (как предлагается в большинстве случаев).

(похоже, проблема существует и для Excel 2003: Макрос события открытия книги Excel не всегда выполняется )

Буду благодарен за любые подсказки, как в любом случае вызывать мой макрос! (Поскольку мои пользователи большую часть времени уже запускались и запускались при запуске моего файла) Спасибо

1 Ответ

2 голосов
/ 30 января 2012

Вы можете создать глобальную переменную bool и установить значение true в workbook_open.

И после проверки значения переменной

'In Module
Global BoolCheck As Boolean


Sub CheckValue()
'Verify if Workbook_Open Event is called
If BoolCheck = False Then
    'case not call the
    ActiveWorkbook.Workbook_Open
End If
End Sub

'in Workbook Object
Public Sub Workbook_Open()
    BoolCheck = True
End Sub

[] ´s

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