Bir Excel çalışma kitabını yüklemeye çalışırken garip davranışlar buluyorum.Koşullu derleme ile Otomasyon Hatası
.NET'te COM Interop ile yazılmış bir Excel-AddIn var. Özellikle kendi Ribbon-Tab'ımı oluşturmak, çalışma kitaplarını bir menüden yüklemek ve bazı proje yönetimini yapmak için kullanılır. Ben eklentisi her şey çalışıyor içinden Çalışma Kitabı (Excel 2003-Version) yüklediğinizde,
İlk: Ben iki şekilde kullanarak bir çalışma kitabını açmaya çalıştığınızda
, ben farklı sonuçlar elde ederler. Şerit'in Düğme Etkinliğinden, Excel çalışma kitabını yüklemek için application.workbooks.open(...)
kullanan Eklenti'nin openWorkbook
genel işlevi çağrılır.
Bu şekilde, çalışma kitabı hata olmadan açılır.
İkincisi, ben gibi kod kullanarak VBA içinden eklentisi-Fonksiyonu çağırmak çalıştığınızda:
Derleme Hatası
Otomasyon Hatası
:Set addIn = Application.COMAddIns("WMExcelAddin1") Set automationObject = addIn.Object automationObject.openWorkbook (filename)
bir hata mesajı almak
ve IDE, ilk olarak gibi bakıyor çalışma kitabı-modüllerinden birinde koşullu derleme, aşağıdaki gibidir:
#const ebind = 0
[...]
sub proc1()
#if ebind = 1 then ' IDE Stops here
[...]
#else
[...]
#end if
end sub
aynı etkiyle numara yerine boolean veri türü kullanmaya çalıştı.
Aklımın sonuna geliyorum.
Sınıflarınızı ve yöntemlerinizi VBA'ya nasıl sundunuz? [bunun gibi bir şey var mı?] (http://davecra.com/2013/02/01/how-to-expose-methods-in-your-vsto-add-in/) –
[vba4all] (http: // stackoverflow .com/kullanıcı/2140173/vba4all), evet - Tam olarak senin Bağlantısında açıklandığı gibi. (VB.NET \t içinde ve C# değil). – DrMarbuse
, vba projenizdeki eklentinize referans mı verdiniz? – ZAT