Вызов макроса VBA с параметрами из Backstage - PullRequest
2 голосов
/ 03 марта 2011

В этот вопрос У меня возникли проблемы при отладке макроса с параметрами, которые я хочу использовать за кулисами Office 2010.

Ответ на этот вопрос объясняет, почему я не смог дебютировать Макрос, но у меня все еще есть проблемы с вызовом Макроса.

Макрос вызывается нажатием кнопки на вкладке Backstage. Есть несколько кнопок, которые вызывают макрос, каждая из которых вызывает его с разными параметрами. Пример вызова выглядит следующим образом:

 <button id="bb1" label="MFLLP Portrait" style="large" onAction="NewDocs (Blank, Portrait.dot)" imageMso="FileSaveAsWordDocx" />

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

Макрос не найден или отключен из-за настроек безопасности макроса

Я не вижу больше настроек

1 Ответ

1 голос
/ 03 марта 2011

OnAction никогда не принимал параметры ни в одной версии Word.Обходной путь для большинства людей состоит в том, чтобы назначить тег элементу управления и затем получить этот тег из подпрограммы onAction, анализируя при необходимости.

Тег будет текстовым, так что вам просто потребуются некоторыехорошая логика синтаксического анализа, как если бы у вас был тэг «2, True, Blue», то вы бы разбили строку, первая часть массива была бы некоторым набором целочисленных значений, следующая была бы логическими значениями, а следующая могла быбыть цветовыми или строковыми значениями ".

Это полная боль в @ # $ - но это именно то, что все мы, разработчики VBA, делали в течение многих лет, чтобы передать параметры.

...