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

Překlady článku Překlady článku
ID článku: 178749 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

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

Vlastnosti

ID článku: 178749 - Poslední aktualizace: 23. června 2005 - Revize: 4.3
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Foundation Class Library 4.2 na těchto platformách
    • Microsoft Visual C++ 5.0 Standard Edition
    • Microsoft Visual C++ 6.0 Service Pack 5
  • Microsoft Office XP Developer Edition
  • Microsoft Office 2000 Developer Edition
Klíčová slova: 
kbmt kbautomation kbhowto kbinterop KB178749 KbMtcs
Strojově přeložený článek
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

Dejte nám zpětnou vazbu

 

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