Как: Лента Excel с несколькими элементами ленты уровня Workbook с динамическими атрибутами? - PullRequest
0 голосов
/ 21 декабря 2009

Я пытаюсь найти решение, позволяющее использовать большую часть моей кодовой базы VBA в книгах. Это включает в себя создание .xlam файла, который будет содержать общие модули и классы (+ их соответствующие фабрики).

Я готов использовать замечательный RibbonUI в Office 2007, и этот файл .xlam объявляет пользовательскую вкладку (для аргумента давайте назовем ее MyTab). Мне нужно MyTab, чтобы отображать только некоторые элементы, если у пользователя есть определенные разрешения (которыми я управляю через VBA).

Кроме того, я хочу, чтобы мои другие рабочие книги могли добавлять материалы в MyTab, которые также могут содержать динамические элементы (использующие VBA).

Проблема, с которой я сталкиваюсь, заключается в том, что всякий раз, когда я сталкиваюсь с тем, что книга ссылается на AddIn.xlam и объявляет элементы динамической ленты, Excel пытается обновить все сразу, вызывая код VBA в двух отдельных потоках (я полагаю, ), который в конечном итоге завершается ошибкой (поскольку в Excel выполняется однопоточное принудительное выполнение в Excel), и генерирует пустые диалоговые окна, на которых написано только «400», и две кнопки «ОК» и «Справка».

У кого-нибудь есть опыт, как лучше всего решить эту проблему?

1 Ответ

0 голосов
/ 23 декабря 2009

Вы пробовали установить Application.MultiThreadedCalculation = False.

Я верю, что это исправит вашу проблему.

...