Создание надстроек COM Office с помощью VBA и разработчиков Office

Переводы статьи Переводы статьи
Код статьи: 306130 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Аннотация

В данной статье описывается, как отображение UserForm, Приветствие при запуске Microsoft Excel или Microsoft Word. Объект компонента Модель надстроек (COM) предоставляют средства для централизации общий код в скомпилированной сборки библиотеки динамической компоновки (DLL), могут быть легко реализованы в любом офисе приложение (например, можно получить контактов Microsoft Outlook из Excel Microsoft Word и Microsoft Access). Самый простой способ разработки COM DLL в Microsoft Microsoft Office — для работы с проектами надстройки, который содержит конструктор и ссылка IDTExtensibility2 Библиотека.

Требования

В данной статье предполагается, что вы знакомы со следующими разделы:

  • Создание Visual Basic для приложений (VBA) процедуры приложение Microsoft Office XP.
  • Работа с пользовательские формы в VBA.
  • Настройка панелей инструментов Office XP.

Создание проекта надстройки

Можно создать проект надстройки в любой Microsoft Office 2000 или Приложение Microsoft Office XP, когда у разработчиков Microsoft Office 2000 или установлены средства Microsoft Office XP для разработчиков. В этом примере используется Microsoft Word 2002.
  1. Запустите Microsoft Word 2002.
  2. Из Сервис Выберите пункт Макрос, а затем нажмите кнопку Редактор Visual Basic.
  3. В Visual Basic редактор (VBE), нажмите кнопку Новый проект В меню Файл меню.
  4. В Новый проект диалоговое окно, нажмите кнопку Добавьте В проект. Это автоматически предоставляет конструктор надстройки.
  5. Если окно свойств не отображается, нажмите кнопку Окно "Свойства" В меню Представление меню.
  6. В окне «Свойства» переименуйте проект из AddInDesigner1 WelcomeAddIn.
  7. Из Вставка меню, нажмите кнопку Пользовательская форма Вставка пользовательской форме.
  8. Из области элементов добавьте метку и кнопки. Пользовательская форма.
  9. В окне «Свойства» измените атрибуты элементы управления в соответствие со значениями в таблице ниже:
    Свернуть эту таблицуРазвернуть эту таблицу
    Элемент управленияСвойстваЗначение
    МеткаИмяlblMessage
    ЗаголовокДобро пожаловать
    Шрифтдолжно быть строго
    Автоподбор размеровЗначение true
    CommandButtonИмяcmdOK
    ЗаголовокОК
    Пользовательская формаИмяfrmWelcome

  10. Из Вставка меню, нажмите кнопку Модуль Вставка стандартного модуля.
  11. Добавьте следующее объявление глобальная строковая переменная для стандартный модуль:
    Public gstrUserName As String
    'This variable will be used to store the name of the user as defined
    'in the Options dialog boxes (from the Tools menu) in Word and Excel.
    					
  12. Добавьте в модуль следующий код, чтобы создать открытый Процедура Sub с именем DisplayForm для отображения формы на экране:
    Public Sub DisplayForm()
      frmWelcome.Show vbModal
    End Sub
    					
  13. Окно кода для формы frmWelcome и добавить Следующий код UserForm_Initialize события для сцепления заголовок метки со строковой переменной:
    lblMessage.Caption = lblMessage.Caption & " " & gstrUserName
    					
  14. Добавьте следующий код для Нажмите кнопку событие CommandButton cmdOK Чтобы выгрузить форму:
    Unload me
    					

Изменение свойств конструктора надстройки

Чтобы изменить свойства конструктора, чтобы выполните следующие действия надстройка начнется сразу же после запуска Microsoft Excel:
  1. В окне проекта дважды щелкните компонент Вернитесь в конструктор надстройки.
  2. На Общие Вкладка конструктора, для изменения свойств конструктора для соответствуют значениям в следующей таблице:
    Свернуть эту таблицуРазвернуть эту таблицу
    СвойствоЗначение
    Отображаемое имя надстройкиFunFormMessage
    Описание надстройкиДанный документ содержит код, который в Excel
    ПриложениеMicrosoft Excel
    Версия приложенияMicrosoft Excel 10.0
    Режим начальной загрузкиАвтозагрузка

Реализуйте интерфейс IDTExtensibility2 события

  1. Из Представление меню, нажмите кнопку Код для просмотра кода модуля, применяемого в конструкторе.
  2. Из Сервис меню, нажмите кнопку Ссылкии установить ссылку на объект Microsoft Excel Библиотека.
  3. В Объект раскрывающийся список, нажмите кнопку AddinInstance. В Процедура раскрывающийся список, нажмите кнопку OnConnection.

    Это событие используется для создания кнопки команд или для связывания с события, такого как событие с кодом при надстройки подключается к хост-приложения.
  4. Добавьте следующий код для AddinInstance_OnConnection Процедура обработки событий для хранения имени пользователя в глобальной переменной strUserName и вызова DisplayForm процедура:
    gstrUserName = Application.UserName
    DisplayForm
    					
  5. В Программу нажмите кнопку Сохранитьи назовите проект Welcome.vba.

Добавьте второй конструктор

В этой процедуре добавления второго конструктора для реализации аналогичные функциональные возможности в Microsoft Word.
  1. Создайте другой проект в Программу. — AddInProject2 создается по умолчанию.
  2. В окне проекта перетащите новый конструктор надстройки интерфейс)AddInDesigner1) в существующий проект надстройки. Будут существовать два конструктора в проекте.
  3. В обозревателе проекта щелкните правой кнопкой мыши AddInProject2, а затем нажмите кнопку Закрыть проект Чтобы удалить только что созданный проект.
  4. Когда появится следующее сообщение об ошибке или аналогичный
    AddInProject2 проект был изменен. Вы хотите сохранить его?
    Нажмите кнопку Нет.
  5. Изменение свойств конструктора для задания 10 Слов как целевое приложение и загрузить в Автозагрузка.
  6. Добавьте следующий код в новый конструктор Word AddinInstance_OnConnection процедуры обработки события, которое совпадает с ранее написанного кода для конструктора Excel OnConnection событие:
    gstrUserName = Application.UserName
    DisplayForm
    					

Отладка надстроек

  1. При желании добавьте соответствующие точки останова в код.
  2. В Программу нажмите кнопку Выполнение проекта из Запустить меню для запуска надстройки.
  3. Запустите Microsoft Excel. При запуске проекта, может появиться диалоговое окно конструктора AddIn. Выберите вариант, чтобы запустить приложение, и перейдите к файлу Excel.exe. Если в этом диалоговом окне не отображается, нажмите кнопку Начало, выберите пункт Программы, а затем нажмите кнопку Microsoft Excel для запуска Excel. Должно появиться пользовательскую форму.
  4. Если диспетчер надстроек COM не доступен, добавлениеНадстройки COM команды на панель инструментов следующим образом:
    1. На Сервис меню, нажмите кнопку Настройка.
    2. В Настройка диалоговое окно, в Команды Вкладка, перетащите Надстройки COM команда Сервис категории на панель инструментов или на Сервис Строка меню CommandBarPopup объект.
  5. Нажмите кнопку Надстройки COM панель команд для отображения COM Add-In Manager (CAM). В списке КАМЕРА отображает все надстройки, которые загружаются.
  6. Для тестирования OnConnection события, очистить Добро пожаловать Добавить флажок в режиме реального времени и выберите команду ОК. Повторно отобразить CAM, выберите Добро пожаловать Установите флажок и нажмите кнопку ОК. Пользовательская форма должна появиться снова.
  7. Закройте приложение (Word или Excel), и Нажмите кнопку Прекращение проекта из Запустить меню в VBE для остановки выполнения проекта.

Убедитесь, что работает надстройка

Теперь Скомпилируйте надстройку и проверить его работоспособность на другой компьютер.
  1. Сохраните проект в Программу. Это редактируемая версия. Компилированное состояние не позволяет вносить изменения.
  2. Из Файл меню, нажмите кнопку Сделать Welcome.DLL.
  3. Использование regsvr32 Команда для регистрации библиотеки DLL следующим образом:
    1. Из окон Начало меню, нажмите кнопку Запустить.
    2. В Открыть текст введите следующий текст:
      regsvr32Путь> \Welcome.DLL
      В данной командеПуть> — Это путь к библиотеке DLL.
  4. Нажмите кнопку ОК Подтверждение регистрации библиотеки DLL.
  5. Запустите Excel и Word. Должно появиться пользовательскую форму. Если вы не отображается пользовательская форма, нажмите кнопку Надстройки COM из Сервис меню, а затем выберите Добро пожаловать флажок.
ПРИМЕЧАНИЕ: Распространять библиотеку DLL проще использовать пакет и Мастер развертывания.

Устранение неполадок

  • Убедитесь, что запись короткий и эффективный код, когда Надстройка загружается в память. Например если ваш OnConnection событие управления данными базы данных при запуске, пользователям будет считать, что что компьютер перестал отвечать (зависает).
  • Будьте внимательны при использовании пользовательские формы. Если пользователь нажимает на ведущего приложения пользователь может ошибочно предположить, что он или она утраченные формы так как он скрыт за ведущего приложения. Вместо этого необходимо сделать форм модальные преодолеть эту проблему. Чтобы сделать форму модальной, используйте vbModal Константа выглядит следующим образом:
    frmMyUserForm.Show vbModal
    						
    Когда этот код помещается в ссылку в этом примере представлен код в шаге 12 Создание надстройки Проект раздел.

Ссылки

Обратитесь к \Samples\Working с AddIns\VBA_COM_AddIn папки Office XP Developer для шаблона AddIn.

Для получения дополнительных сведений о создании кнопки CommandBar посетите следующий веб-узел Microsoft Developer Network (MSDN):
http://MSDN.Microsoft.com/en-us/library/aa140930.aspx

Свойства

Код статьи: 306130 - Последний отзыв: 6 июня 2011 г. - Revision: 4.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Office XP Developer Edition
Ключевые слова: 
kbhowtomaster kbmt KB306130 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:306130

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com