Макрос издателя запускается во всех документах

887
ale10ander

Я написал макрос в Publisher и добавил его в панель быстрого доступа. К сожалению, макрос запускается только в документе, который его создал. Во всех остальных документах кнопка ничего не делает.

Есть ли способ заставить макрос работать во всех документах Publisher? Я знаю, что в макросах Excel есть возможность хранить их (личная рабочая тетрадь, эта рабочая тетрадь и т. Д.), Что меняет это поведение. Есть ли подобная опция для издателя?

1
Есть ли кнопка * add-ins * на вкладке * developer * ленты? Если это так, ответ «да». Mathieu Guindon 8 лет назад 1
Есть, но он принимает .dll или .exe. Я предполагаю, что есть простой способ скомпилировать макрос в .dll? ale10ander 8 лет назад 0
На самом деле, нет. Вам понадобится надстройка VSTO, написанная на C # или VB.NET и ссылающаяся на API Publisher. Простой, * для некоторых значений «простой» * ;-) Mathieu Guindon 8 лет назад 1
Благодарю. Это не идеальное решение, но оно должно работать. Если ты напишешь это как ответ, я приму это. ale10ander 8 лет назад 0

1 ответ на вопрос

1
Mathieu Guindon

Если тип документа «Надстройка издателя» отсутствует, необходимо написать надстройку COM в C # или VB.NET с Visual Studio (т.е. не в VBA).

Эта статья в блогах MSDN объясняет, как сделать надстройку для Access, учитывая:

VSTO поддерживает надстройки для большинства приложений Office, которые поддерживают надстройки COM на основе IDTExtensibility2, а именно: Excel, InfoPath, Outlook, PowerPoint, Project, Visio и Word, но не для Access, FrontPage, Publisher или SharePoint Designer .

Этот процесс был бы очень похож на Publisher: обратитесь к Primary Interop Assembly (PIA), чтобы овладеть Microsoft.Office.Interop.Publisher.Applicationклассом, и вы почти полностью готовы - просто спроектируйте свои расширения ленты, реализуйте свою функциональность, скомпилируйте, зарегистрируйте и вы ты

Похожие вопросы