Jak vytvořit projekt automatizace pomocí MFC a knihovny typů

Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.

Projděte si také anglickou verzi článku:178749
Tento článek byl archivován. Je nabízen v takovém stavu, v jakém je, a nebude již nadále aktualizován.
Souhrn
Tento článek ukazuje podrobně, jak automatizovat součást Integrace s rozhraním COM aplikací, jako je například aplikace sady Office.
Další informace
Následující části ilustruje, jak vytvořit MFC projektu. V příkladu automatizuje uzavřený. Použít pro libovolný projekt nejprve 8 kroky a upravit kroky 9 až 15 při práci s jinou aplikací.

Vytvoření projektu automatizace

  1. S Microsoft Developer Studio spustit nový "AppWizard MFC (exe)" projektu s názvem "AutoProject"
  2. V kroku 1 AppWizard MFC zvolte "Dialog Based" pro typ aplikace a klepněte na tlačítko Dokončit.

    Dialogovém okně New Project informace se zobrazí a označuje, že obsahují třídy být vytvořen:
          Application: CAutoProjectApp in AutoProject.h and AutoProject.cpp      Dialog: CAutoProjectDlg in AutoProject.h and AutoProjectDlg.cpp						
    klepnutí chcete vytvořit projekt.
  3. Otevře dialog pole "IDD_AUTOPROJECT_DIALOG" v oblasti návrhu nebo úpravě Visual Studio. Upravit podle pokynů v následující dva kroky.
  4. Odebrat popisek ovládacího prvku (IDC_STATIC) a na tlačítko Storno (IDCANCEL).
  5. Změnit název na tlačítko OK "IDRUN" a titulek "Spuštění" Formulář návrhu pole AutoProject.rc dialogové okno zavřete.
  6. V nabídce Zobrazit klepněte na tlačítko ClassWizard (nebo stiskněte klávesy CTRL + W).
  7. Vyberte mapování zpráv kartu Vybrat IDRUN identifikátory objektů v seznamu a v seznamu zpráv vyberte "BN_CLICKED". Klepněte na tlačítko Přidat funkci a přijměte název funkce "OnRun". Klepnutím na tlačítko OK zavřete ClassWizard.

    Poznámka: Tento krok přidá deklaraci pro člen funkce "OnRun()"; do záhlaví souboru s názvem AutoProjectDLG.h. Tento krok také přidá prázdný kostra zpráva obslužné rutiny funkce s názvem souboru s názvem AutoProjectDLG.cpp CAutoProjectDlg::OnRun().
  8. V nabídce Zobrazit klepněte na tlačítko ClassWizard (nebo stiskněte klávesy CTRL + W).
  9. Vyberte kartu automatizace klepnutí třídy a zvolit "Z knihovny typů." Přejděte do vyberte knihovnu objektu aplikace, kterou chcete automatizovat (pro tento příklad Pokud automatizace aplikace Excel 97 zvolit objektové knihovny Microsoft Excel 8.0; výchozí umístění je C:\Program Files\Microsoft Office\Office\Excel8.olb).

    Pokud jsou automatizace Microsoft Excel 2000, zvolte Microsoft Excel 9.0 Object Library, jehož výchozí umístění je C:\Program Files\Microsoft Office\Office\Excel9.olb.

    Pokud jsou automatizace aplikace Microsoft Excel 2002 a Microsoft Office Excel 2003, knihovnu objektů vložených v souboru Excel.exe. Výchozí umístění Excel.exe Office 2002 je C:\Program Files\Microsoft Office\Office10\Excel.exe. Výchozí umístění Excel.exe Office 2003 je C:\Program Files\Microsoft Office\Office11\Excel.exe. Jakmile vyberete příslušný objekt knihovny, klepněte na tlačítko Otevřít. Vyberte všechny třídy na ověření třídy seznamu a potom klepněte na tlačítko OK.

    Poznámka: Čtvereček seznamu v dialogovém okně Potvrdit třídy obsahuje všechna rozhraní IDispatch (které jsou téměř shodné s třídami) v knihovně typů uzavřený. V dolní polovině dialogového okna uvidíte, obsahuje soubor implementaci s názvem Excel8.cpp pole generovány obálky třídy odvozené od ColeDispatchDriver() a názvem souboru záhlaví příslušné deklarace Excel8.h. (Pro aplikaci Excel 2002 a Excel 2003 soubory jsou pojmenovány Excel.cpp a Excel.h.)
  10. Klepněte na tlačítko OK zavřete dialogové okno MFC ClassWizard.
  11. Přidejte následující kód CAutoProjectApp::InitInstance() funkce, které načte a umožňuje COM služby knihovny:
          BOOL CAutoProjectApp::InitInstance()      {         if(!AfxOleInit())  // Your addition starts here         {            AfxMessageBox("Could not initialize COM dll");            return FALSE;         }                 // End of your addition         AfxEnableControlContainer();      .      .      .      }					
  12. Přidejte následující řádek # zahrnout výkazy v horní části programu souboru AutoProject.cpp:
          #include <afxdisp.h>					
  13. Přidat příkaz zahrnutí pro excel8.h po příkazu include pro stdafx.h v horní části programu souboru AutoProjectDlg.cpp:
          #include "stdafx.h"      #include "excel8.h" // excel.h in the case of Excel 2002 and Excel 2003.					
  14. Přidat kód automatizace CAutoProjectDlg::OnRun(), takže se zobrazí, jak je ukázáno níže:
          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. Sestavit a spustit projektu. VÝSLEDKY: Po klepnutí spustit tlačítka v dialogovém okně, uzavřený bude být spustila. Aktivovat dialogové okno Auto_Excel a zavřete okno zprávy. Uzavřený bude ukončete při ukončení funkce CAutoProjectDlg::OnRun(), protože proměnná aplikace bude mít pryč mimo rozsah.

Další poznámky

Jednou jste přidali třídy z knihovny typů do projektu (jako je v kroku 9 výše), si všimnete, že mnoho třídy byly přidány k projektu. V ClassView poklepejte na položku třídy, viz funkce členů dané třídy a poté poklepejte na členské funkce zobrazení definice, které fungují v souboru Excel8.cpp implementace.

Je třeba přejít definice členské funkce, pokud chcete ověřit návratový typ nebo pokud potřebujete změnit na funkci implementace. Kdykoli změnit definici funkce nezapomeňte změnit deklarace v souboru Excel8.h. Tím, nezapomeňte změnit deklarace správná funkce; někdy je uděleno stejný název je takový příklad funkce členů více classes--GetApplication().

Ačkoli výše uvedené kroky ilustrují způsob automatizace uzavřený, můžete použít stejné nápady automatizace jiných aplikací. Seznam níže obsahuje názvy souborů knihoven typů aplikace sady 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				
Poznámka: výchozí umístění pro tyto knihovny typ je C:\Program Files\Microsoft Office\Office (pro Office 2002 cestu je C:\...\Office10 a pro sadu Office 2003 je cesta C:\...\Office11), s výjimkou pro Dao350.dll nebo Dao360.dll a Microsoft Office 10(MSO.dll). Výchozí umístění Dao350.dll/Dao360.dll je C:\Program Files\Common Files\Microsoft Shared\Dao. Výchozí umístění Mso.dll je C:\Program Files\Common Files\Microsoft Shared\Office10 pro Office 2002 a C:\Program Files\Common Files\Microsoft Shared\Office11 pro sadu Office 2003.
Odkazy
Tento článek uvádí konkrétní postup vytváření projektu dialogové okno. Pokud chcete zobrazit další obecné dokumentaci o procesu vytváření projektu VC ++ aplikaci Microsoft Developer Studio prostředí, je vynikající výukový program přístupu pomocí InfoView Visual Studio. Přístup k výukový program, klepněte na tlačítko Hledat v nabídce Nápověda. Klepněte na kartu index a zadejte následující:
Práce s projekty
Klepněte na tlačítko seznam témat. Vyberte téma "Domovská stránka: práce s projekty" a na tlačítko Zobrazit. Další informace o automatizaci aplikace Office klepněte na následující číslo článku databáze Microsoft Knowledge Base:
222101Jak vyhledat a použít dokumentaci modelu objektu Office
IDispatch seznamu automatizace ole

Upozornění: Tento článek je přeložený automaticky

Vlastnosti

ID článku: 178749 - Poslední kontrola: 12/05/2015 08:16:05 - Revize: 4.3

Microsoft Foundation Class Library 4.2, Microsoft Office XP Developer Edition, Microsoft Office 2000 Developer Edition

  • kbnosurvey kbarchive kbmt kbautomation kbhowto kbinterop KB178749 KbMtcs
Váš názor