Het gebruik van een typebibliotheek voor Office automatiseren vanuit Visual C++.NETTO

Vertaalde artikelen Vertaalde artikelen
Artikel ID: 307473 - Bekijk de producten waarop dit artikel van toepassing is.
Alles uitklappen | Alles samenvouwen

Samenvatting

Dit artikel wordt beschreven hoe u een Visual C++.NETTO project dat fungeert als een automatiserings client voor toepassingen die Component Object Model (COM) voldoet. Het voorbeeld in dit artikel wordt gebruikgemaakt van Microsoft Foundation Classes (MFC) met class wrappers voor een Office-onderdeel.

Meer informatie

Hieronder wordt beschreven hoe u een eenvoudige Automatiserings client. Er zijn drie stappen van deze procedure:
  1. De automatiserings client maken.
  2. Code voor het automatiseren van Microsoft Excel toevoegen.
  3. Voer de automatiserings client.
U kunt de eerste stap, maakt u een nieuwe Auto mat ion client ongeacht de automatiseringsserver die u gebruikt. De tweede stapCode voor het automatiseren van Microsoft toevoegen Excel, is specifiek voor de automatiseringsserver.

Een automatiserings client maken

  1. Start Microsoft Visual Studio.NET. Op deBestandmenu, klikt u opNieuwe, en klik vervolgens opProject. SelecteerMFC-toepassingvanuit de Visual C++-projecten typen en de project naam AutoProject.
  2. Wanneer de Wizard MFC-toepassing wordt weer gegeven, klikt u opType toepassing, het type toepassingDialoog venster gebaseerd, en klik vervolgens opVoltooien.
  3. Wijzig deIDD_AUTOPROJECT_DIALOGin het dialoog venster als volgt:
    1. Verwijder deLabelControl (IDC_STATIC) en deAnnulerenknop (IDCANCEL).
    2. Wijzig de ID van deOKknop "idrun" en het bijschrift "Uitvoeren".
  4. Class wrappers maken vanuit de typebibliotheek voor de Auto mat ion server als volgt:
    1. Klik in de Solution Explorer opAutoProject, en klik vervolgens opKlasse toevoegen.
    2. Klik opMFC-klassen van Typelib, en klik vervolgens opOpen.
    3. Klik opEen klasse van toevoegen: register, en zoek de geregistreerde typebibliotheek voor de automatisering server.

      Bijvoorbeeld, selecteer "Microsoft Excel 10. 0 Type Library" voor Microsoft-ExcelXP of "Microsoft Excel 9. 0 Type Library" voor Microsoft Excel 2000.
    4. De interfaces die u nodig hebt uit de lijst selecteren en klik vervolgens op het groter dan-teken (>) toevoegen aan de lijst met interfaces waarvoor MFC wrappers gemaakt. Klik opVoltooienu hebt bij alle interfaces toegevoegd.

      Voor deze in het volgende voorbeeld, hoeft u alleen deBeschikbaarinterface.

      BelangrijkAls er veel interfaces in de typebibliotheek die u hebt gekozen, Selecteer alleen deze interfaces die u gebruiken wilt omdat MFC genereert een afzonderlijke headerbestand voor elke geselecteerde interface. Door het minimaliseren van de interface selecties, vermijdt u overbodige belasting tijdens het genereren van het bestand en compilatie.
  5. Laden en de COM-bibliotheek diensten aan deCAutoProjectApp::InitInstancefunctie, voeg de volgende code:
    if(!AfxOleInit())  // Your addition starts here.
    {
      AfxMessageBox("Cannot initialize COM dll");
      return FALSE;
      // End of your addition.
    }
    
    AfxEnableControlContainer();
    					
  6. Een aanwijzing include voor elke kop bestand toevoegen afgeleid van de interfaces in de typebibliotheek van de automatiseringsserver. Toevoegen de richtlijnen na de include-instructie voor Stdafx.h boven AutoProjectDlg. cpp.

    Voor dit voorbeeld voegt een opnemen voor de CApplication.h headerbestand, dat wordt gegenereerd voor deBeschikbaarinterface:
          #include "stdafx.h"
          #include "CApplication.h"
    					

Code voor het automatiseren van Microsoft Excel toevoegen

In deIDD_AUTOPROJECT_DIALOGhet dialoog venster rechterUitvoeren, en klik vervolgens opGebeurtenis-handler toevoegenin de vervolg keuze lijst. In de gebeurtenis afhandeling Wizard selecteren hetBN_CLICKEDbericht type en klik vervolgens opToevoegen en bewerken. Voeg de volgende code voor het automatiseren van Excel in de handler:
void CAutoProjectDlg::OnBnClickedRun()
{
   CApplication app;  // app is the Excel _Application object

   // Start Excel and get Application object.

   if(!app.CreateDispatch("Excel.Application"))
   {
      AfxMessageBox("Cannot start Excel and get Application object.");
      return;
   }
   else
   {
      //Make the application visible and give the user control of
      //Microsoft Excel.
      app.put_Visible(TRUE);
      app.put_UserControl(TRUE);
   }
} 
				

De automatiserings client uitvoeren

Druk op F5 om te bouwen en uitvoeren van de automatiserings client. Wanneer de het dialoog venster wordt weer gegeven, klikt u opUitvoeren. De automatiserings client wordt Excel gestart en wordt de toepassing zichtbaar. U ziet dat Excel actief, blijft zelfs wanneer de automatiserings client wordt beëindigd omdat de gebruiker heeft gekregen van de toepassing.

Aanvullende opmerkingen

Nadat u klassen van een typebibliotheek hebt toegevoegd aan uw project u zult merken dat ze weer in de klasse van het project gegeven. In klasse Weer geven, u kunt dubbel klikken op een klasse de methoden van die klasse en Dubbel klik op de methode voor het weer geven van de definitie van die functie in de implementatie bestand van de MFC-wrapper. U kunt controleren dat de definitie van een lid functie als u wilt controleren of een retour type of moet u een implementatie van een functie.

Hoewel de eerdere stappen illustreren het automatiseren van Microsoft Excel, kunt u dezelfde ideeën voor het automatiseren van andere toepassen toepassingen. De volgende lijst bevat de bestandsnamen voor type bibliotheken andere Microsoft Office-toepassingen:
Deze tabel samenvouwenDeze tabel uitklappen
ToepassingTypebibliotheek
Microsoft Access 97Msacc8.olb
Data base van Microsoft Jet 3. 5DAO350.dll
Microsoft Binder 97Msbdr8.olb
Microsoft Excel 97Excel8. olb
Microsoft Graph 97Graph8.olb
Microsoft Office 97Mso97. dll
Microsoft Outlook 97Msoutl97.olb
Microsoft PowerPoint 97Msppt8.olb
Microsoft Word 97Msword8.olb
Microsoft Access 2000Msacc9.olb
Data base van Microsoft Jet 3. 51Dao360. dll
Microsoft Binder 2000Msbdr9.olb
Microsoft Excel 2000Excel9. olb
Microsoft Graph 2000Graph9.olb
Microsoft Office 2000Mso9. dll
Microsoft Outlook 2000Msoutl9
Microsoft PowerPoint 2000Msppt9. olb
Microsoft Word 2000MSWord9. olb
Microsoft Access 2002Msacc.olb
Microsoft Excel 2002Excel. exe
Microsoft Graph-2002Graph.exe
Microsoft Office 2002Mso. dll
Microsoft Outlook 2002MSOutl.olb
Microsoft PowerPoint 2002MSPpt.olb
Microsoft Word 2002MSWord.olb
Microsoft Office Access 2003Msacc.olb
Microsoft Office Excel 2003Excel. exe
Grafiek van Microsoft Office 2003Graph.exe
Microsoft Office 2003Mso. dll
Microsoft Office Outlook 2003MSOutl.olb
Microsoft Office PowerPoint 2003MSPpt.olb
Microsoft Office Word 2003MSWord.olb
Microsoft Office Access 2007Msacc.olb
Microsoft Office Excel 2007Excel. exe
Grafiek van Microsoft Office 2007Graph.exe
Microsoft Office 2007Mso. dll
Microsoft Office Outlook 2007MSOutl.olb
Microsoft Office PowerPoint 2007MSPpt.olb
Microsoft Office Word 2007MSWord.olb
OpmerkingDe standaardlocatie voor deze type bibliotheken is:
Deze tabel samenvouwenDeze tabel uitklappen
Office-versiePad
Office 97C:\Program Files\Microsoft Office\Office.
Office 2000C:\Program Files\Microsoft Office\Office.
Office XPC:\Program Files\Microsoft Office\Office10.
Office 2003C:\Program Files\Microsoft Office\Office11.
2007 OfficeC:\Program Files\Microsoft Office\Office12
Het standaardlocatie voor Dao350.dll en dao360. dll is C:\Program Files\Common Files\Microsoft Shared\Dao.

Referenties

Voor meer algemene informatie over Visual C++.NETTO, Zie de volgende Usenet-nieuwsgroep:
Microsoft.public.dotNET.Languages.VC
Ga naar de Visual C++.NET-ondersteuning op de volgende Microsoft-website:
http://support.Microsoft.com/default.aspx?xmlid=FH%3BEN-US%3Bvcnet

Eigenschappen

Artikel ID: 307473 - Laatste beoordeling: donderdag 6 oktober 2011 - Wijziging: 3.0
De informatie in dit artikel is van toepassing op:
  • Microsoft Visual C++ .NET 2002 Standard Edition
  • Microsoft Office Professional 2007
  • Microsoft Office Professional Edition 2003
  • Microsoft Office XP Developer Edition
  • Microsoft Office 2000 Developer Edition
  • Microsoft Office 97 Developer Edition
Trefwoorden: 
kbexpertiseinter kbautomation kbhowto kbnewsgrouplink kbmt KB307473 KbMtnl
Automatisch vertaald artikel
BELANGRIJK: Dit artikel is vertaald door de vertaalmachine software van Microsoft in plaats van door een professionele vertaler. Microsoft biedt u professioneel vertaalde artikelen en artikelen vertaald door de vertaalmachine, zodat u toegang heeft tot al onze knowledge base artikelen in uw eigen taal. Artikelen vertaald door de vertaalmachine zijn niet altijd perfect vertaald. Deze artikelen kunnen fouten bevatten in de vocabulaire, zinsopbouw en grammatica en kunnen lijken op hoe een anderstalige de taal spreekt en schrijft. Microsoft is niet verantwoordelijk voor onnauwkeurigheden, fouten en schade ontstaan door een incorrecte vertaling van de content of het gebruik ervan door onze klanten. Microsoft past continue de kwaliteit van de vertaalmachine software aan door deze te updaten.
De Engelstalige versie van dit artikel is de volgende:307473

Geef ons feedback

 

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