Я хочу добавить определенную функцию в MS Office. В настоящее время я смотрю на VBA для его разработки. Однако кажется, что запуск макросов требует отключения безопасности. Это означает, что если я распространяю программу VBA, другие люди должны разрешить выполнение макросов. (Проблемы с безопасностью)
Теперь проблема в том, как мне распространять написанный мной VBA? Например. в .exe файле? И есть ли другой способ создать это дополнение?
Я скачал какую-то надстройку для MS Word, вроде бы она написана на C++ и в формате .dll.
Спасибо.
2 ответа
Вы можете запускать макросы в документе/шаблоне/надстройке даже в «высоком» режиме безопасности, если:
- проект VBA имеет цифровую подпись
- пользователь соглашается «доверять» издателю цифровой подписи
Когда пользователь в первый раз запускает макрос, подписанный вашей цифровой подписью, он получит сообщение о том, что «макросы подписаны YourCompanyName — хотите ли вы доверять всем надстройкам от этого издателя». Если они нажмут «да», они больше не увидят подсказку, и ваши макросы будут запущены.
Подробнее о том, как создать цифровая подпись.
Инструменты Visual Studio для Office (VSTO) позволяют создавать расширения для Microsoft Office с использованием любого языка .NET, включая Visual C++. Такие расширения действительно будут компилироваться в DLL-файлы и после установки на клиентскую машину не будут требовать от пользователя отключения каких-либо дополнительных предупреждений безопасности. Вам понадобится Visual Studio 2005/2008 Professional, чтобы использовать инфраструктуру VSTO.
Википедия содержит дополнительную информацию о VSTO, включая сравнение с VBA. Amazon, похоже, количество книг на эту тему, а также.
Похожие вопросы
Новые вопросы
vba
Visual Basic для приложений (VBA) - это управляемый событиями объектно-ориентированный язык программирования для написания макросов, используемый для всего пакета Office, а также для других приложений. VBA не эквивалентен VB.NET или VBS; если вы работаете в Visual Studio, используйте [vb.net]. Если ваш вопрос конкретно касается программирования любого приложения MS Office, также используйте соответствующий тег: [excel], [ms-access], [ms-word], [outlook] или [ms-project].