Visual C++ .NET'den Office Otomasyonu için bir tür kitaplığı nasıl kullanılır

Makale çevirileri Makale çevirileri
Makale numarası: 307473 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Özet

Bu makalede bir Visual C++ .NET nasıl proje Bileşen Nesne Modeli (COM) uyumlu olan uygulamaların bir Otomasyon istemcisi gibi davranır. Bu makaledeki örnek, bir Office bileşeni sınıf sar?c?lar? Microsoft Foundation Classes (MFC) kullanır.

Daha fazla bilgi

Aşağıdaki adımlarda, basit bir otomasyon istemci nasıl gösterilmektedir. Bu yordam için üç ana adım vardır:
  1. Otomasyon istemci oluşturun.
  2. Microsoft Excel'in otomatik hale getirmek için kodu ekleyin.
  3. Automation istemcisi'ni çalıştırın.
Ilk adım, yeni bir Otomasyon oluşturmak için kullandığınız istemci kullandığınız Otomasyon sunucusu ne olursa olsun. Add Code to Automate Microsoft Excel, ikinci adım, Otomasyon sunucusu için geçerlidir.

Bir Otomasyon istemcisi oluştur

  1. Microsoft Visual Studio .NET'i başlatın. Dosya menüsünden Yeni ' yi tıklatın ve sonra Project ' i tıklatın. MFC uygulaması Visual C++ Projects türlerinden seçin ve sonra adını AutoProject.
  2. MFC Uygulaması Sihirbazı görüntülendiğinde, Uygulama türü ' nü tıklatın, İletişim tabanlı uygulama türünü ayarlamak ve sonra da <a2>son</a2>'u tıklatın.
  3. IDD_AUTOPROJECT_DIALOG iletişim kutusu aşağıdaki gibi değiştirin:
    1. Etiket denetimi (IDC_STATIC) ve iptal düğmesini tıklatın (IDCANCEL) kaldırın.
    2. "IDRUN" ve "Çalıştır" için resim yazısı için Tamam düğmesini KIMLIĞINI değiştirme
  4. Sınıf sar?c?lar? Otomasyon sunucusu için tür kitaplığı gibi oluşturun:
    1. Solution Explorer'da (Çözüm Gezgini), AutoProject ' ı sağ tıklatın ve sonra da Add Class ' ı tıklatın.
    2. Tür Kitaplığı'ndan MFC sınıf ' ı tıklatın ve sonra ' ı tıklatın.
    3. Tıklatın bir sınıftan Ekle: kayıt defteri ve kayıtlı tür kitaplığı için Otomasyon sunucusu.

      Bu örnekte, "Microsoft Excel 10.0 Type Library", "Microsoft Excel 9.0 Type Library" Microsoft Excel 2000 ya da Microsoft ExcelXP seçin.
    4. Gereksinim duyduğunuz arabirimlere listeden seçin ve büyüktür (&gt;), MFC sar?c?lar? oluşturur arabirimleri listesine bunları eklemek için simge çok'ı tıklatın. ' I tıklatınTüm arabirimlerin eklediğinizde tamamlayın.

      Bu örnekte, yalnızca _Application arabirimi gerekir.

      Önemli Seçtiğiniz Tür kitaplığında birçok arabirim varsa, MFC seçili her arabirim için ayrı bir üstbilgi dosyası oluşturur, çünkü, kullanacağınız arabirimleri seçin. Arabirim seçimlerinizi en aza indirerek, dosya oluşturma ve derleme sırasında gereksiz ek yük önleyebilirsiniz.
  5. Yükleme ve COM Hizmetleri kitaplığı CAutoProjectApp::InitInstance işlevi etkinleştirmek için aşağıdaki kodu ekleyin:
    if(!AfxOleInit())  // Your addition starts here.
    {
      AfxMessageBox("Cannot initialize COM dll");
      return FALSE;
      // End of your addition.
    }
    
    AfxEnableControlContainer();
    					
  6. Bir içerme yönergesi için arabirimler Otomasyon sunucusunun türü kitaplığında oluşturulan her üstbilgi dosyası olarak ekleyin. Emirleri Stdafx.h AutoProjectDlg.cpp üstündeki sonra ekleme deyimi ekleyin.

    Bu örnekte, _Application arabirim için oluşturulan CApplication.h üstbilgi dosyası için bir ekleme Ekle:
          #include "stdafx.h"
          #include "CApplication.h"
    					

Microsoft Excel'in otomatikleştirmek için kod ekleme

IDD_AUTOPROJECT_DIALOG iletişim kutusunda, Çalıştır ' ı sağ tıklatın ve açılan liste kutusundan olay işleyicisi Ekle</a1>'ı tıklatın. Olay işleyicisi Sihirbazı'nı tıklatın, BN_CLICKED ileti türünü seçin ve Ekle ve Düzenle'yi tıklatın. Excel işleyicisini otomatikleştirmek için aşağıdaki kodu ekleyin:
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);
   }
} 
				

Otomasyon istemci çalıştırın.

Oluşturmak ve Automation istemcisi'ni çalıştırmak için F5 tuşuna basın. Iletişim kutusu görüntülendiğinde, Çalıştır ' ı tıklatın. Otomasyon istemci Excel başlatır ve uygulama görünür hale getirir. Otomasyon istemci uygulamasının, denetimin kullanıcıya verilen çünkü bile sona erdiğinde, Excel'in çalışan kalır dikkat edin.

Ek notlar

Projenize bir tür kitaplığından sınıfları ekledikten sonra projenizin sınıfı görünümde göründükleri görebilirsiniz. Sınıf Görünümü'nde, bu sınıfın yöntemlerini görmek için bir sınıf'ı çift tıklatın ve MFC sarmalayıcı uygulama dosyasında bu işlevin tanımını görüntülemek için bu yöntemi</a5>'ni çift tıklatın. Tanımı bir <a0>üye</a0> işlevinin dönüş türü doğrulamak isterseniz veya bir işlev uygulaması değiştirmeniz gerekirse gözden geçirebilirsiniz.

Microsoft Excel'in otomatik hale getirmek için önceki adımları gösterilmektedir, ancak diğer uygulamaları otomatikleştirmek için aynı fikirleri uygulayabilirsiniz. Aşağıdaki liste, diğer Microsoft Office uygulamaları, tür kitaplıklarının dosya adları içerir:
Bu tabloyu kapaBu tabloyu aç
UygulamaTür kitaplığı
Microsoft Access 97Msacc8.olb
Microsoft Jet veritabanı 3.5DAO350.dll
Microsoft Ciltçi 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
Microsoft Jet veritabanı 3.51Dao360.dll
Microsoft Ciltçi 2000Msbdr9.olb
Microsoft Excel 2000Excel9.olb
Microsoft Graph 2000 Graph9.olb
Microsoft Office 2000Mso9.dll
Microsoft Outlook 2000Msoutl9.olb
Microsoft PowerPoint 2000Msppt9.olb
Microsoft Word 2000Msword9.olb
Microsoft Access 2002Msacc.olb
Microsoft Excel 2002Excel.exe
Microsoft Graph 2002Graph.exe
Microsoft Office 2002 Mso.dll
Microsoft Outlook 2002Msoutl.olb
Microsoft PowerPoint 2002Msppt.olb
Microsoft Word 2002Msword.olb
Microsoft Office Access 2003Msacc.olb
Microsoft Office Excel 2003Excel.exe
Microsoft Office Grafik 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
2007 Microsoft Office GrafiğiGraph.exe
2007 Microsoft OfficeMso.dll
Microsoft Office Outlook 2007Msoutl.olb
2007 Microsoft Office PowerPointMsppt.olb
Microsoft Office Word 2007Msword.olb
Not Bu tür kitaplıkları için varsayılan konumu şudur:
Bu tabloyu kapaBu tabloyu aç
Office sürümüYol
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
C:\Program Files\Common Files\Microsoft Shared\Dao Dao350.dll ve Dao360.dll için varsayılan konumdur.

Referanslar

Visual C++ .NET hakkında daha fazla genel bilgi için aşağıdaki Usenet haber grubuna bakın:
Microsoft.public.dotnet.languages.vc
Visual C++ .NET Destek Merkezi aşağıdaki Microsoft Web sitesini ziyaret edin:
http://support.microsoft.com/default.aspx?xmlid=fh%3BEN-US%3Bvcnet

Özellikler

Makale numarası: 307473 - Last Review: 18 Nisan 2007 Çarşamba - Gözden geçirme: 8.1
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Visual C++ .NET 2002 Standard Edition
  • Microsoft Foundation Class Library 4.2
  • Microsoft Office Professional 2007
  • Microsoft Office Professional Edition 2003
  • Microsoft Office XP Developer Edition
  • Microsoft Office 2000 Developer Edition
  • Microsoft Office 97 Developer Edition
Anahtar Kelimeler: 
kbmt kbexpertiseinter kbautomation kbhowto kbnewsgrouplink KB307473 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:307473

Geri Bildirim Ver

 

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