Makale numarası: 238972 - Son Gözden Geçirme: 19 Nisan 2007 Perşembe - Gözden geçirme: 8.2

Office otomatikleştirmek için Visual C++ kullanarak

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.

Bu Sayfada

Hepsini aç | Hepsini kapa

Özet

Denetlemek için Microsoft Office Otomasyonu'nu kullanabilir, Visual C++ uygulamalarından gelen bileşenleri. Bu makalede, Office yanı sıra, kaynaklara ve örnek kodu işaretçileri otomatik hale getirmek gereken temel bilgileri sağlar.

Daha fazla bilgi

Otomasyon (eski adı OLE Otomasyonu) varolan bir programın işlevsellikten yararlanmak ve onu kendi uygulamaları birleştirmek olanak sağlayan bir teknolojidir. Örneğin, Microsoft Word yazım ve dilbilgisi denetimi yetenekleri uygulamanıza Microsoft Word kullanıcılarınıza görünür yapmadan kullanabilir. Tüm Microsoft Excel grafiğini, yazdırma ve veri çözümleme araçlarını da kullanabilirsiniz. Bu teknoloji büyük oranda basitleştirmek ve geliştirme hızı.

Otomasyon ve COM

Otomasyon, Bileşen Nesne Modeli (COM) temel alır. COM bir standart yazılım mimarisi arabirimlerde temel alan kodu, kendi içinde bütünlük oluşturan nesnelerine ayırmak için tasarlanmış ise. Nesnenin bir uzantısı olarak düşünün, ancak uygulamaları ayırmak için uygun yönelimli programlama (OOP) standardı. Her nesne arabirimleri kümesi sunar ve bu arabirimler aracılığıyla tüm iletişimler için veri aktarımını başlatma ve bildirimler gibi bir nesne olur.

Ayrıca, COM ise bir işletim sistemiyle yüklenen dinamik bağlantı kitaplıkları (DLL) tarafından sağlanan hizmetleri. Otomasyon bu hizmetlerin çoğunu kullanır. Istemci uygulamanın sunucu uygulama arabirim üyesini işlevleri çağrılarını paketleri ve bunların bağımsız değişkenleri olan sunucu uygulamasına geçirmeden "Marshalling" hizmeti bir örnektir. Durum böyle değildir, istemci, kendi işlem alanında çalışan bir .exe dosyası olduğunda, istemcinin bellek alanı kullandığı için sunucunun arabirimler görüntülenir. Sıralanırken de dönüş değerlerini sunucunun yöntemleri geri işlem sınırları boyunca ve güvenle istemcinin arama sonucu içine alır.

Temel çeşitli COM kitaplıkları tarafından sağlanan bir Otomasyon için pek çok hizmetin vardır. Bunlar hakkında bilgi kaynakları şunlardır:
  • OLE - ikinci baskı içinde"tarafından Kraig Brockschmidt, ISBN 1-55615-843-2
  • Içinde "COM tarafından Dale Rogerson - ISBN 1-57231-349-8
  • Otomasyon Programmer's Reference,"ISBN 1-57231-584-9

Visual C++ gelen Automation'ı kullanmak için üç yolu

Otomasyon kullanabileceğiniz üç temel yolu vardır: MFC, alma ve C/C++:
  • MFC ile Visual C++ ClassWizard "sarmalayıcı sınıfları" Microsoft Office tür kitaplıklarından oluşturmak için kullanın. Bu sınıfların yanı sıra, COleVariant COleSafeArray ve COleException, diğer MFC sınıflar Otomasyon görevlerini basitleştirme. Bu yöntem genellikle, başkalarının önerilir ve MFC çoğunu, Microsoft Knowledge Base örnekleri'ni kullanın.
  • alma, Visual C++ 5.0 ile birlikte kullanılabilir oldu yeni bir yönergeyi VC ++ belirtilen tür kitaplığından "Akıllı işaretçileri" oluşturur. Genellikle Microsoft Office ile birlikte kullanıldığında ortaya çıkan başvuru sayma sorunlar nedeniyle çok güçlü, ancak bu önerilmez sık olarak uygulamaları.
  • C/C++ Otomasyon kadar olduğundan daha zor, ancak yük ile MFC veya alma ile ilgili sorunları önlemek bazen gerekli. Temel olarak, bu tür Apı CoCreateInstance() olarak çalışmak ve ıdispatch ve ıunknown gibi COM arabirimleri.
Bazı küçük farklılıklar Otomasyon gelen COM C++ sınıfı tasarlanmıştır çünkü düz C'YE karşılaştırıldığında C++ arasında olduğuna dikkat edin önemlidir. C ile otomatikleştirme hakkında daha fazla bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
181473  (http://support.microsoft.com/kb/181473/ ) Bir C uygulama yerine C++ OLE Otomasyonu kullanma

Office tür kitaplıkları nasıl kullanılır?

Bir tür kitaplığı, bir C/C++ üstbilgi dosyasına benzer. Bu arabirimler, yöntemler ve bir sunucu yayımlama özellikleri de içerir. Tür kitaplığı ile OLE/COM nesnesi, Visual C++ ile birlikte gelen Görüntüleyici (Oleview.exe) görüntüleyebilirsiniz. Microsoft Office 95, Microsoft Office 97, Microsoft Office 2000, Microsoft Office XP, Microsoft Office 2003 ve 2007 Microsoft Office tür kitaplığı dosya adları listesi aşağıdadır.
Bu tabloyu kapaBu tabloyu aç
Office uygulamasıTür kitaplığı
Word 95 ve öncekiwb70en32.tlb
Excel 95 ve öncekixl5en32.olb
PowerPoint 95 ve öncekiPowerPoint.tlb
Access 95 ve öncekiMsaccess.tlb
Ciltçi 95Binder.tlb
Schedule+sp7en32.olb
projesipj4en32.olb
Takım Yöneticisimstmgr1.olb
Word 97msword8.olb
Excel 97excel8.olb
PowerPoint 97msppt8.olb
Access 97msacc8.olb
Ciltçi 97msbdr8.olb
Grafik 97graph8.olb
Outlook 97msoutl8.olb
Outlook 97msoutl85.olb
Word 2000msword9.olb
Excel 2000excel9.olb
PowerPoint 2000Msppt9.olb
Access 2000msacc9.olb
Outlook 2000msoutl9.olb
Word 2002Msword.olb
Excel 2002Excel.olb
PowerPoint 2002Msppt.olb
Access 2002Msacc.olb
Outlook 2002Msoutl.olb
Office Word 2003Msword.olb
Office Excel 2003Excel.exe
Office PowerPoint 2003Msppt.olb
Office Access 2003Msacc.olb
Office Outlook 2003Msoutl.olb
Office Word 2007Msword.olb
Office Excel 2007Excel.exe
Office PowerPoint 2007Msppt.olb
Office Access 2007Msacc.olb
Office Outlook 2007Msoutl.olb
Tür kitaplıkları kullanmanız gereken bilgiler ile nesneleri, yöntemleri ve özellikleri sağlar. Word, Excel ve PowerPoint nesne modellerini gidin öğrenmek için en iyi yolu, makro kaydediciyi Office uygulamalarında kullanmaktır.

2007 Office programlarında bunun için aşağıdaki adımları izleyin:
  1. Geliştirici sekmesini göster. Bunu yapmak için <a0></a0>, Microsoft Office düğmesi ' ni tıklatın, program seçenekleri ' ni tıklatın, popüler ' ı tıklatın, Geliştirici sekmesini göster Şeritte onay kutusunu tıklatıp seçin ve Tamam ' ı tıklatın.
  2. Geliştirici sekmesini tıklatın.
  3. Kod grubu, Makro Kaydet'i tıklatın ve sonra ilgili olduğu görevi gerçekleştirin.
  4. Kod grubu içinde Kaydı Durdur'ı tıklatın.
  5. Bitirdiğiniz olarak kaydetme, kod grubunda makrolar ' ı tıklatın, kaydettiğiniz makroyu tıklatın ve sonra da <a2>Düzenle</a2>'yi tıklatın.
Office 2003 programları ve Office'in önceki sürümlerinde bunu yapmak için şu adımları izleyin:
  1. Araçlar menüsünde, makro seçin, Yeni Makro Kaydet'i tıklatın ve sonra ilgili olduğu görevi gerçekleştirin.
  2. Araçlar menüsünden, makro seçin ve Kaydı Durdur</a1>'ı tıklatın.
  3. Bitirdiğiniz olarak kaydetme, makro için Araçlar menüsünden makrolar ' ı tıklatın, kaydettiğiniz makroyu tıklatın ve sonra da <a2>Düzenle</a2>'yi tıklatın.
Bu, kaydedilmiş bir görev gerçekleştirir oluşturulan VBA kodunu alır. Kaydedilen makroyu olacak akılda tutulması değil olası en iyi kodun çoğu durumda olması, ancak bunu hızlı ve kullanışlı bir örnek sağlar.

Katıştırılmış Office bileşeni otomatikleştirme

Katıştırılmış Office nesne veya uygulama otomatikleştirmek için <a0></a0>, nesnenin ıdispatch işaretçisi alınmaya gerekir. Bu Visual C++ teknik verilen notu 39 (TN039). Bu teknik notu <a2>Microsoft</a2> temel bulma sınıf kitaplığı, Visual C++ başvuru. Adım adım yol gösteren bir örnek için lütfen Microsoft Bilgi Bankası'ndaki görüntülemek üzere aşağıdaki makale numarasını tıklatın:
184663  (http://support.microsoft.com/kb/184663/ ) Katıştırmak ve bir Excel çalışma sayfası MFC ile otomatikleştirme

Referanslar

David Kruglinski'nın "ınside Visual C++" ', Bölüm 24 (ISBN:1 - 57231 - 565 - 2) çok örnek yanı sıra, genel bir bakış sağlar. Ayrıca, Microsoft Bilgi Bankası bir iyi bilgi kaynağıdır.

Daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
152023  (http://support.microsoft.com/kb/152023/ ) Otomasyon incelemek için kaynakları bulma

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Project 2000 Standard Edition
  • Microsoft Visual C++ 4.0 Standard Edition
  • Microsoft Visual C++ 5.0 Enterprise Edition
  • Microsoft Visual C++ 6.0 Enterprise Edition
  • Microsoft Visual C++ 5.0 Professional Edition
  • Microsoft Visual C++ 6.0 Professional Edition
  • Microsoft Visual C++, 32-bit Learning Edition 6.0
  • Microsoft Office Word 2007
  • Microsoft Office Word 2003
  • Microsoft Word 2002 Standard Edition
  • Microsoft Word 2000 Standard Edition
  • Microsoft Word 97 Standard Edition
  • Microsoft Office Access 2007
  • Microsoft Office Access 2003
  • Microsoft Access 2002 Standard Edition
  • Microsoft Access 2000 Standard Edition
  • Microsoft Access 97 Standard Edition
  • Microsoft Office Excel 2007
  • Microsoft Office Excel 2003
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Excel 97 Standard Edition
  • Microsoft Office Outlook 2007
  • Microsoft Office Outlook 2003
  • Microsoft Outlook 2002 Standard Edition
  • Microsoft Outlook 2000
  • Microsoft Outlook 97 Standard Edition
  • Microsoft Office PowerPoint 2007
  • Microsoft Office PowerPoint 2003
  • Microsoft PowerPoint 2002 Standard Edition
  • Microsoft PowerPoint 2000 Standard Edition
  • Microsoft PowerPoint 97 Standard Edition
Anahtar Kelimeler: 
kbmt kbexpertiseinter kbfaq kbinfo KB238972 KbMttr
Otomatik TercümeOtomatik Tercüme
Ö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:238972  (http://support.microsoft.com/kb/238972/en-us/ )