XLCLIENT, Microsoft Excel, OLE Otomasyonu'nu kullanarak denetlemek gösterilmiştir. MFC dizin MFC kullanan örnek içerir. SDK dizin MFC kullanan örnek içerir.
Microsoft destek dosyalarını karşıdan yükleme konusunda ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
119591
(http://support.microsoft.com/kb/119591/EN-US/
)
Microsoft Destek Dosyaları Çevrimiçi Hizmetler'den Nasıl Alınır
Microsoft bu dosyada virüs taraması yapmıştır. Microsoft, dosyanın kullanıma sunulduğu tarihteki en güncel virüs tarama yazılımını kullanmıştır. Dosya, üzerinde herhangi bir yetkisiz değişiklik yapılmasını engellemeye yardım eden geliştirilmiş güvenliğe sahip sunucularda depolanır. Excel, bir istemci bunları OLE Otomasyonu erişebilmeleri nesneler, özellikler ve yöntemler sunar. Bu örnek, hücrelere değerlerini ekler ve bu değerler bir hesap oluşturur aşağıdaki Visual Basic 4.0 kod eşit bir otomasyon istemci yazma gösterilmiştir.
Const xlWorkSheet-4167 = Const xl3DPie-4102 = Const xlRows = 1 Uygulama kümesi CreateObject("Excel.Application") = Application.Visible = true Set çalışma kitabında application.Workbooks.Add(template:=xlWorkSheet) = Çalışma kümesi workbook.Worksheets(1) = Worksheet.Range("A1:D1").Value = Array ("Kuzey", "Güney", "Doğu", "Batı") Worksheet.Range("A2").Value 5.2 = Worksheet.Range("B2").Value = 10 Worksheet.Range("C2").Value = 8 Worksheet.Range("D2").Value = 20 Aralık ayarlama worksheet.Range("A1:D2") = Set grafik workbook.Charts.Add = Kaynak Chart.ChartWizard: aralığı = galerisini: xl3DPie, = Biçim: = 7'yi, sonra da plotBy: xlRows, categoryLabels =: = 1, seriesLabels: = 0, hasLegend: = 2, başlık: "Satış yüzdeleri" workbook.Saved = = true '; Bu nedenle, Excel'in bu belgeyi Kapanışta kaydedilip edilmeyeceğine sorun olmaz.
Microsoft Excel'in bir otomasyon istemci Write nasıl kullanılır
Bir Otomasyon istemcisinin, <a1>Denetim</a1> Microsoft Excel ıdispatch arabirimini kullanır. Microsoft Excel'in bir otomasyon istemci yazarken aşağıdaki bilgiler geçerlidir:
Microsoft Excel'de otomasyon yöntemleri/Vba_xl.hlp dosyayı Excel ile birlikte kullanmayı planladığınız özelliklerinin belgelerine bakın.
Aşağıdaki knowledge base makalesinden kazanılabilecek xlWorkSheet, <a2>xl3DPie</a2>, <a4>xlRows vb. gibi Microsoft Excel'in sabit değerleri:
Bu sabit değerleri aynı zamanda Microsoft Excel'in tür kitaplığından tür kitaplığı tarayıcıda Ole2vw32.exe gibi (derleyici 's \bin dizinine) kullanarak elde edilebilir. Microsoft Excel'in tür kitaplığı (örneğin, Microsoft Excel 95 ABD sürümü Xl5en32.olb) açmak Ole2vw32.exe dosya/ViewTypeLibrary menüsünü kullanma. Typeinfos bileşik_kutu bırakın ve "sabit" seçin. Microsoft Excel'in sabit, değişken/DataMembers</a1> liste kutusunda görüntülenir.
Tüm bağımsız değişkenleri ve dönüş türleri, Microsoft Excel Otomasyonu yöntemleri ve türleri VARIANT tipindedir. Içine doldurulmaları gerekir ve bir VARIANT alınan fiili türleri açıkça Vba_xl.hlp içinde bildirilen değil. Ancak türleri belgelere kolayca edilebilir. Örneğin, bir sayı, vt_ı2, dize olarak VT_BSTR ve nesne VT_DISPATCH olarak geçirilebilir. Gerekirse, Microsoft Excel'in uygun coercions yapacaksınız. Microsoft Excel tarafından döndürülen değerleri aynı şekilde edilebilir. Tam dönüş değeri türü belirlenemez VARIANT.vt alanı denetleyin veya VariantChangeType kullanarak dönüş türü işlenemiyor. "Microsoft Excel özelliklerini" da belirtildiği gibi Office Developer's Kit'te MSDN CD'sinde, Microsoft Excel, Microsoft Excel Developer's Kit'te Bölüm 7'in bir bölümü hiçbir zaman, aşağıdaki listede olmayan bir veri türü ile bir VARIANT döndürür:
Data Type Variant Constant
--------- ----------------
Boolean VT_BOOL
Currency (scaled integer) VT_CY
Date VT_DATE
Error cell values (#N/A, #REF etc.) VT_ERROR
Integer VT_I2
Long (long integer) VT_I4
Object VT_DISPATCH
Single (single-precision floating-point)VT_R4
Double (double-precision floating-point)VT_R8
String VT_BSTR
Herhangi bir Otomasyon istemcisi aşağıdaki bilgiler geçerlidir:
OLE, Unicode dize kullanılır. OLESTR makro dizeleri Unicode dize sabitleri dönüştürmek için kullanılır. MFC içinde dizeleri içeren değişkenler için ve Unicode T2OLE ve OLE2T makrolarını kullanarak dönüştürülebilir. Bkz: Ayrıntılar MFC TechNote 59. MFC kullanan kodu, ANSı/Unicode dönüşümü için bilgi aşağıdaki Bilgi Bankası makalesinde bulabilirsiniz:
Ansı'den Unicode'a Unicode ve ANSI için OLE için dönüştürme nasıl KIMLIĞI:138813
(http://support.microsoft.com/kb/138813/EN-US/
)
OLE API veya arabirim yönteminin çağıran, bağımsız değişkenleri ve dönüş değerleri boşaltmayı sorumludur.
Bir MFC Otomasyon istemcisi Microsoft Excel'in Write nasıl kullanılır
Otomasyon ile uygulama oluşturmak için kullanmak AppWizard destekler.
Class Wizard ve seçme AddClass / bir OLE TypeLibrary Kimden, OLE Otomasyonu sekmesini seçin. Excel'in tür kitaplığı (ABD Xl5en32.olb seçin. Microsoft Excel 95 sürümü) <a0>Microsoft Excel</a0> dizinindeki. Kullanacağınız Microsoft Excel nesneleri seçin. Seçtiğiniz her nesne için bir türetilmiş COleDispatchDriver proxy sınıf ClassWizard oluşturacak. Örnek uygulama, aralık, çalışma kitabı, çalışma kitaplarını, çalışma sayfası, grafik ve grafikleri Excel nesne seçili ve ClassWizard yeni sınıflar Xl5en32.h ve Xl5en32.h oluşturuldu. Aralığın yöntemi iletişim kutusu, DialogBoxA veya DialogBoxW olarak sistem üstbilgi dosyaları tanımlamak için farklı bir ad (örneğin, iletişim kutusu) nesne iletişim kutusu adını değiştirin.
Microsoft Excel'in denetim için kod içeren .cpp dosyasına adım 2'de oluşturulan üstbilgi dosyası içerir.
Geçirilen isteğe bağlı bağımsız değişkenlerini VT_ERROR/DISP_E_PARAMNOTFOUND içeren bir VARIANT ileterek belirtilebilir.
Bazı Microsoft Excel yöntemleri, iki sözdizimi kullanarak Vba_xl.hlp içinde belirtildiği gibi çağrılabilir. Örneğin, çalışma kitaplarını yöntemi gibi belgelenmiştir:
Sözdizimi 1 Object.Workbooks(Index)
Sözdizimi 2 Object.Workbooks
ClassWizard yalnızca bir yöntemini oluşturur. Böylece, diğer sözdizimini kullanmak gerekiyorsa, oluşturulan .h ve diğer sözdizimi için başka bir yöntem eklemek için .cpp dosyasını değiştirin. Örneğin bu bir örnek Workbooks2 gibi <a0>çalışma kitaplarını</a0> yönteminin 2 sözdizimine karşılık gelmesi için uygulama sınıfı eklendi:
Workbooks2 olarak çalışma kitaplarını aynı DISPID (0x23c) vardır, ancak herhangi bir bağımsız değişkeni yoktur. Bu sorun, VT_ERROR/DISP_E_PAMNOTFOUND ileterek çözümlenemiyor. Tüm yöntemler, iki sözdizimleri sahip bu şekilde ele alınması gereken olarak işaretlenmiş.
Örnek, iki sözdizimleri sahiptir aralığı, çalışma kitaplarını ve grafikleri yöntemleri kullanır. Sonuç olarak Range1, <a2>Workbooks2</a2> ve <a4>Charts2 ekler.
MFC'ın COleDispatchDriver sınıfı, adlandırılmış değişkenleri desteklemiyor. Bağımsız değişkenler, konuma göre geçirilmelidir.
Microsoft Excel, bir özel durum oluşturur, DISP_E_EXCEPTION IDispatch::Invoke döndürür ve bu yöntemin EXCEPINFO parametre doldurur. MFC olur ve istemci bu özel yakalama tarafından EXCEPINFO yapısında hata bilgilerini alabilir, bir COleDispatchException durum oluşturur.
Doc.cpp kod örneğinde, Microsoft Excel'in MFC sınıfları kullanılarak nasıl gösterir.
Microsoft Excel'in olmayan MFC otomasyon istemci yazma
CreateObject ve ınvoke (Invhelp.cpp ve Win32 SDK'sındaki <a1>Gözat</a1> örneğinin Invhelp.h yardımcı işlevlerini kolayca olmayan MFC otomasyon istemci yazmak için kullanılır. IDispatch::Invoke doğrudan çağırmak için başka bir yakla??md?r'ı tıklatın. Kullandığı geç bir sunucuyu denetlemek için bağlama çağırır. Bunu daha verimli değişiklik yaparak kimliği bağlama DISPID IDispatch::GetIDsOfNames üzerinden değil, tür kitaplığından alınır'ı kullanmak için yapılabilir.
Invoke yardımcı işlevi, adlandırılmış değişkenleri desteklemiyor. Bağımsız değişkenler, konuma göre geçirilmelidir.
Invoke yardımcı işlevi bir EXCEPINFO yapısı parametrelerden biri geçirilmesini sağlar. Microsoft Excel'in hata bilgileri bu yapısıyla, bir özel durum oluşturur ve bir EXCEPINFO doldurur yapısı, istemci tarafından sağlanır. Olacak Çağır Microsoft Excel, bir özel durum oluşturur, DISP_E_EXCEPTION dönün. Dizeleri istemci tarafından serbest gerekir EXCEPINFO yapısı. Örnek kod Microsoft Excel'e bir EXCEPINFO yapısı vermeyen.
Xlclient.cpp kod örneğinde, Microsoft Excel'in nasıl gösterir.
Ö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:141759
(http://support.microsoft.com/kb/141759/en-us/
)
Bu makaleyi kullanabilmek için kişisel olarak ne kadar çaba harcadınız?
Çok az
Az
Ne Az, Ne Fazla
Fazla
Çok fazla
Bu bilgiyi geliştirmek için ne yapabiliriz?
Gizliliğinizi korumak için, irtibat bilgilerinizi görüşlerinize eklemeyin.
Teşekkür ederiz! Görüşleriniz, destek içeriğimizi geliştirmek amacıyla kullanılacaktır. Daha fazla yardım seçeneği için lütfen, Yardım ve Destek Ana Sayfası’nı ziyaret edin.