OLE Nesneleri ve ActiveX Kontrolleri

OLE Nesneleri ve ActiveX Kontrolleri

OLE Nesneleri ve ActiveX Denetimleri

Aspose.Words FOSS for .NET, gömülü OLE nesneleri ve Forms 2.0 ActiveX denetimlerine OleFormat giriş noktası ve Aspose.Words.Drawing ile Aspose.Words.Drawing.Ole‘deki ilgili sınıflar aracılığıyla okuma erişimi sağlar.


Gömülü OLE Nesne Verilerine Erişim

OleFormat, gömülü bir Shape tarafından ortaya çıkar ve gömülü nesnenin ham veri ve meta verilerine erişim sağlar. SuggestedFileName ve SuggestedExtension, gömülü nesnenin nasıl kaydedileceğini tanımlar, ProgId onu oluşturan OLE sunucu uygulamasını belirler ve IsLink, bağlanmış bir nesneyi (SourceFullName/SourceItem dış kaynağa işaret eder) tam gömülü olandan ayırır. GetOleEntry(oleEntryName), OLE birleşik dosya yapısından belirli adlandırılmış bir akışı okur, GetRawData() tam ham nesne verilerini döndürür ve Save(fileName) / Save(stream), gömülü nesnenin yerel verilerini diske ya da bir akıma yazar — bu, orijinal gömülü dosyayı (örneğin gömülü bir elektronik tablo veya sunum) yerel uygulamasında açmadan çıkarmak için kullanışlıdır. OlePackage, OleFormat.OlePackage aracılığıyla ulaşılır, OLE Paketi olarak gömülmüş nesneler için FileName ve DisplayName ortaya koyar.


Forms 2.0 ActiveX Denetimleriyle Çalışma

Yerleşik nesne bir Microsoft Forms 2.0 ActiveX denetimi (gömülü belgeler yerine onay kutuları, metin kutuları, birleşik kutular ve benzeri etkileşimli denetimler) olduğunda, OleFormat.OleControl bir OleControl döndürür. IsForms2OleControl özelliğini kontrol edin ve true ise, Forms2OleControl‘e (tüm Forms 2.0 denetimlerinin soyut temel sınıfı) dönüştürün; böylece denetim-özel özelliklere ulaşabilirsiniz: Caption, Value, Enabled, Type (bir Forms2OleControlType değeri — CheckBox, Textbox, ComboBox, OptionButton, ListBox, CommandButton ve diğerleri), ayrıca görsel özellikler ForeColor, BackColor, Width ve Height. Çerçeveler gibi kapsayıcı denetimler, iç içe denetimlerini ChildNodes üzerinden, bir Forms2OleControlCollection aracılığıyla ortaya çıkarır.


İpuçları ve En İyi Uygulamalar

  • Yerel olarak gömülü nesne verisinin mevcut olduğunu varsamadan önce OleFormat.IsLink kontrol edin — bağlanmış nesneler, içeriklerini gömmek yerine SourceFullName aracılığıyla harici bir dosyaya referans verir.
  • Gömülü nesneleri toplu olarak çıkarırken mantıklı bir çıktı dosya adı oluşturmak için SuggestedExtension ile Save() birlikte kullanın.
  • Forms2OleControl‘e dönüştürmeden önce her zaman OleControl.IsForms2OleControl kontrol edin — her OleControl bir Forms 2.0 kontrolü değildir.
  • Forms2OleControlCollection.Count ve GetEnumerator() aracılığıyla sayma, bir çerçeve veya çok sayfalı konteyner kontrolü içindeki iç içe geçmiş kontrolleri dolaşmanızı sağlar.

Yaygın Sorunlar

SorunNedenDüzeltme
GetRawData() beklenmeyen/boş veri döndürürNesne bir bağlantı (IsLink == true), gömülü değilÖnce IsLink‘ı kontrol edin; bağlantılı nesneler için SourceFullName‘ı çözün
InvalidCastException OleControl‘i Forms2OleControl‘ye dönüştürüyorDenetim bir Forms 2.0 denetimi değilDönüştürmeden önce IsForms2OleControl kontrol edin
GetOleEntry(), adlandırılmış bir akış için null döndürürAkış adı bu nesnenin birleşik dosya yapısında bulunmuyorGerçek giriş adlarını, sabit bir ad varsaymak yerine listeleyin
Bir çerçeve içindeki iç içe geçmiş denetimler bulunamadıYalnızca üst düzey OleControl kontrol edildi, ChildNodes değilKapsayıcı denetimler için Forms2OleControl.ChildNodes içine yineleyin

FAQ

Word belgesinden gömülü bir Excel veya PowerPoint nesnesini nasıl çıkarabilirim?

Şeklin OleFormat‘na erişin, ardından gömülü nesnenin yerel baytlarını almak için Save(fileName) veya GetRawData() çağırın; çıktıyı uygun şekilde adlandırmak için SuggestedExtension‘ı kullanın.

Gömülü bir OLE nesnesi ile Forms 2.0 kontrolü arasındaki fark nedir?

Gömülü bir OLE nesnesi (OleFormat aracılığıyla doğrudan erişilir) tipik olarak başka bir belgedir (elektronik tablo, sunum); bir Forms 2.0 kontrolü (OleFormat.OleControl → Forms2OleControl) ise onay kutusu veya metin kutusu gibi etkileşimli bir UI öğesidir.

Bir OLE nesnesinin gömülü değil, bağlı olduğunu nasıl anlayabilirim?

OleFormat.IsLink kontrol edin — true olduğunda, SourceFullName ve SourceItem nesnenin kendi verisini taşıması yerine harici kaynağı tanımlar.

Bir onay kutusu kontrolünün başlığını veya değerini okuyabilir miyim?

Evet — OleControl‘ı Forms2OleControl‘e dönüştürün ( IsForms2OleControl‘i doğruladıktan sonra) ve Caption ile Value‘ü okuyun.


API Reference Özeti

Sınıf / MetodAçıklama
OleFormatYerleştirilmiş bir OLE nesnesinin veri ve meta verileri için giriş noktası
OleFormat.GetRawData()Ham gömülü nesne baytlarını al
OleFormat.Save()Yerleştirilmiş nesnenin yerel verisini bir dosyaya veya akışa kaydet
OlePackageOLE Package nesnesi için dosya adı/görünüm adı
OleControlGömülü ActiveX kontrolünün temel temsili
Forms2OleControlMicrosoft Forms 2.0 kontrolü (onay kutusu, metin kutusu, açılır kutu, vb.)
Forms2OleControlCollectionAlt Forms2OleControl düğümlerinin koleksiyonu (ör. bir çerçeve içinde)
Forms2OleControlTypeForms 2.0 kontrol türlerinin enum’ı

Ayrıca Bakınız

 Türkçe