Создание проекта автоматизации с использованием MFC и библиотеки типов

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

В этой статье

Аннотация

В данной статье описывается, подробно, автоматизация Интеграция компонентов с помощью COM-совместимых приложений, таких как Microsoft Приложения Office.

Дополнительная информация

Следующий раздел показывает, как создать MFC проект. Пример автоматизации Microsoft Excel. Использовать первые 8 шагов для любого проекта и модифицировать шаги с 9 по 15, при работе с другим приложения.

Создание проекта автоматизации

  1. С помощью Microsoft Developer Studio запустите новый AppWizard MFC" (exe) "проект с именем «AutoProject».
  2. На шаге 1 MFC AppWizard выберите «На базе диалогового окна» Тип приложения и нажмите кнопку Готово.

    Новый проект Появится диалоговое окно сведения и указывает, что классы для создания включают:
          Application: CAutoProjectApp in AutoProject.h and AutoProject.cpp
          Dialog: CAutoProjectDlg in AutoProject.h and AutoProjectDlg.cpp
    						
    Нажмите кнопку ОК, чтобы создать проект.
  3. Откроется диалоговое окно «idd_autoproject_dialog» в визуальный Область конструктора или изменение Studio. Изменение согласно инструкциям, приведенным в следующей два шага.
  4. Удаление элемента управления Label (IDC_STATIC) и «Отмена» (IDCANCEL).
  5. Измените имя "ОК" на «idrun» и заголовок «Запуск». Закройте AutoProject.rc разработки форме диалогового окна.
  6. В меню Вид выберите команду ClassWizard (или нажмите сочетание клавиш CTRL + W).
  7. Выберите IDRUN выберите вкладку схемы сообщений в идентификаторы объектов списка и выберите «bn_clicked» в поле со списком сообщений. Нажмите кнопку Добавить функции и примите имя функции «onrun». Нажмите кнопку ОК, чтобы закрыть ClassWizard.

    Примечание: Это действие добавляет объявление для функции-члена «OnRun()»; заголовок файла с именем AutoProjectDLG.h. Этот шаг также добавляет пустая функция обработчика скелет сообщение с именем CAutoProjectDlg::OnRun() для файл с именем AutoProjectDLG.cpp.
  8. В меню Вид выберите команду ClassWizard (или нажмите сочетание клавиш CTRL + W).
  9. Выберите вкладку автоматизации щелкните Добавить класс и выберите команду " библиотеку типов." Перейдите к выберите библиотеку объектов приложения, Чтобы автоматизировать (например, выбор при автоматизации Excel 97 Библиотека объектов Microsoft Excel 8.0; по умолчанию используется C:\Program Files\Microsoft Office\Office\Excel8.olb).

    При автоматизации Microsoft Excel 2000, выберите библиотеку объектов Microsoft Excel версии 9.0 по умолчанию используется C:\Program Files\Microsoft Office\Office\Excel9.olb.

    При автоматизации приложения Microsoft Excel 2002 и Microsoft Office Excel 2003 Библиотека объектов встраивается в файл Excel.exe. По умолчанию Excel.exe в Office 2002 — это C:\program Files\Microsoft Office\Office10\Excel.exe. Местоположение по умолчанию для Excel.exe в Office 2003 C:\Program Files\Microsoft Office\Office11\Excel.exe. Выбрав необходимую библиотеку объектов, нажмите кнопку Открыть. Выберите все классы в подтверждение Классы и нажмите кнопку ОК.

    Примечание: Поле со списком в подтверждение Классы-диалоговое окно содержит все интерфейсов IDispatch (которые являются практически идентична классов) в библиотеки типов Microsoft Excel. В нижняя половина диалоговое окно, вы увидите, что имя файла реализации Excel8.cpp содержит созданный класс обертки производным от ColeDispatchDriver(), а соответствующее объявление заголовочный файл с именем Excel8.h. (Для Excel 2002 и Excel 2003 файлы называются Excel.cpp и Excel.h.)
  10. Нажмите кнопку ОК, чтобы закрыть диалоговое окно MFC ClassWizard.
  11. Добавьте следующий код для Функция CAutoProjectApp::InitInstance(), которая загружает и позволяет COM Библиотека служб:
          BOOL CAutoProjectApp::InitInstance()
          {
             if(!AfxOleInit())  // Your addition starts here
             {
                AfxMessageBox("Could not initialize COM dll");
                return FALSE;
             }                 // End of your addition
    
             AfxEnableControlContainer();
          .
          .
          .
    
          }
    					
  12. Добавьте следующие строки № включают инструкции на в верхней части файла программы AutoProject.cpp:
          #include <afxdisp.h>
    					
  13. Добавьте инструкции include для excel8.h после включения Инструкция для stdafx.h в верхней части файла программы AutoProjectDlg.cpp:
          #include "stdafx.h"
          #include "excel8.h" // excel.h in the case of Excel 2002 and Excel 2003.
    					
  14. Добавление кода автоматизации CAutoProjectDlg::OnRun() таким образом, Вероятно, как показано ниже:
          void CAutoProjectDlg::OnRun()
          {
              _Application app;  // app is the Excel _Application object
    
              // Start Excel and get Application object...
             if(!app.CreateDispatch("Excel.Application"))
             {
                AfxMessageBox("Couldn't start Excel.");
             }
             else
             {
                //Make Excel Visible and display a message
              app.SetVisible(TRUE);
              AfxMessageBox ("Excel is Running!");
             }
          }
    					
  15. Построение и запуск проекта. РЕЗУЛЬТАТЫ: При нажатии кнопки выполнить Кнопка в диалоговом окне Microsoft Excel будет запущено. Активация Диалоговое окно Auto_Excel поле и закрыть окно сообщения. Microsoft Excel будет завершена окончания функцию CAutoProjectDlg::OnRun(), так как приложение переменная будет выходе за пределы области действия.

Дополнительные замечания

После добавления классов из библиотеки типов для вашего проект (как вы в шаге 9 выше), можно заметить, что у многих классов был добавлен в проект. В представления классов можно дважды щелкнуть класса для просмотра функции-члены класса и затем два раза щелкните член функции для Просмотр определения этой функции в файл реализации Excel8.cpp.

Необходимо перейти в определение функции-члена, если вы хотите Проверка возвращаемого типа или если необходимо изменить реализацию функции. Любой время изменить определение функции, не забудьте изменить объявление в файл Excel8.h. При этом следует изменить правильной функции объявление; Иногда же имя присваивается несколько функций-членов classes--GetApplication() является одним из таких примеров.

Хотя действия выше показывают, как для автоматизации приложения Microsoft Excel, можно применить одинаковые идеи для автоматизации других приложений. В следующем списке содержатся имена файлов библиотеки типов приложений Microsoft Office:
   Application                           Type Library
   --------------------------------------------------

   Microsoft Access 97                   Msacc8.olb
   Microsoft Jet Database 3.5            DAO350.dll
   Microsoft Binder 97                   Msbdr8.olb
   Microsoft Excel 97                    Excel8.olb
   Microsoft Graph 97                    Graph8.olb
   Microsoft Office 97                   Mso97.dll
   Microsoft Outlook 97                  Msoutl97.olb
   Microsoft PowerPoint 97               Msppt8.olb

   Microsoft Word 97                     Msword8.olb
   Microsoft Access 2000                 Msacc9.olb
   Microsoft Jet Database 3.51           DAO360.dll
   Microsoft Binder 2000                 Msbdr9.olb
   Microsoft Excel 2000                  Excel9.olb
   Microsoft Graph 2000                  Graph9.olb
   Microsoft Office 2000                 Mso9.dll
   Microsoft Outlook 2000                Msoutl9.olb
   Microsoft PowerPoint 2000             Msppt9.olb
   Microsoft Word 2000                   Msword9.olb 

   Microsoft Access 2002                 Msacc.olb
   Microsoft Excel 2002                  Excel.exe
   Microsoft Graph 2002                  Graph.exe 
   Microsoft Office 2002                 MSO.dll
   Microsoft Outlook 2002                MSOutl.olb
   Microsoft PowerPoint 2002             MSPpt.olb
   Microsoft Word 2002                   MSWord.olb

   Microsoft Office Access 2003          Msacc.olb
   Microsoft Office Excel 2003           Excel.exe
   Microsoft Graph 2003                  Graph.exe 
   Microsoft Office 2003                 MSO.dll
   Microsoft Office Outlook 2003         MSOutl.olb
   Microsoft Office PowerPoint 2003      MSPpt.olb
   Microsoft Office Word 2003            MSWord.olb
				
Примечание: Местоположение по умолчанию для этих библиотек типов — это C:\Program Files\Microsoft Office\Office (для Office 2002 путь является C:\...\Office10 и для Office 2003 путь — C:\...\Office11), за исключением Dao350.dll или Dao360.dll и 10(MSO.dll) Microsoft Office. По умолчанию Dao350.dll/Dao360.dll — это C:\Program Files\Common Files\Microsoft Shared\Dao. По умолчанию для MSO.dll используется C:\Program Files\Common Files\Microsoft Shared\Office10 Office 2002 и C:\Program Files\Common Files\Microsoft Shared\Office11 для Office 2003.

Ссылки

Данная статья представляет определенный подход к здания проект диалоговое окно. Если вы хотели бы видеть более Общая документация процесс создания проекта VC ++ в Microsoft Developer Studio Среда, есть отличный учебник, доступного с помощью Visual Studio InfoView. Чтобы открыть учебник, нажмите кнопку «Найти» в меню Справка. Нажмите кнопку вкладку указатель и введите следующую команду:
Работа с проектами
Нажмите кнопку «разделы». Выберите раздел «Домашняя страница: работа С Проекты"и нажмите кнопку Открыть. Для получения дополнительных сведений об автоматизации приложений Office щелкните следующий номер статьи базы знаний Майкрософт:
222101Поиск и использование документации по объектной модели Office

Свойства

Код статьи: 178749 - Последний отзыв: 4 июня 2011 г. - Revision: 4.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Foundation Class Library 4.2
  • Microsoft Office XP Developer Edition
  • Microsoft Office 2000 Developer Edition
Ключевые слова: 
kbautomation kbhowto kbinterop kbmt KB178749 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:178749

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

 

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