anahtar kelimesi ile koşullu derleme Arabirimin eklenti içerdiği "implements" anahtar sözcüğü ile birlikte derleyici koşul sabitlerini kullanmak mümkün müdür?VBA:
benim çalışma kitabında bir sınıf modülünde aşağıdaki var, en Kitap1 diyelim:
#Const Condition1 = 0 ''will be replaced with 1 when add-in is opened
#if Condition1 then
Implements myAddIn.iInterfaceFoo
#End if
ben eklentisini bir referans olarak listelenmiş MyAddin sahip (yani Araçlar -> Referanslar .. .).
Arabirimi, eklenti içindeki diğer sınıflarla başarılı bir şekilde kullanıyorum, ancak şimdi doğrudan çalışma kitabımdaki kitabın arayüzünü aramak istiyorum1. Eklenti açık olduğu sürece, book1 derlediğimde (yani Debug -> Compile VBAProject) başarıyla derlenir. Ancak
, ben eklenti kapalı, ben hatayı
Compile error: User-defined type not defined
olsun ile book1 derlemeye çalıştığımda Bu benim kaçınmaya çalışıyorum şeydir - eklenti eksik aksi takdirde (örneğin başkasının bilgisayarında) elektronik tablo hala çalışır.
Teşekkür kodu değiştirin, soruyu geliştirmeye çalışmışlardır. Sınıfı başlattım, ancak bu bir derleyici hatası bir çalışma zamanı hatası değil. 'Implements' bağlantısı için teşekkürler, ama nasıl çalıştığını ile oldukça rahatım :) – crunch
Eh, 'Condition1' false olduğunda, kodunuz 'Implements myAddIn.iInterfaceFoo' derlemeyi denememelidir. Eklenti'nin yüklü olup olmadığına bağlı olarak 'Condition1 'öğesini true/false olarak ayarlamakta sorun mu yaşıyorsunuz? Muhtemelen [this] (http://stackoverflow.com/q/15951518/2140173) ve [that] (http://stackoverflow.com/q/19726791/2140173) –
'u görebilirsiniz. Bu sadece budur - derlemeyi dener "Koşullar" satırı, "Koşul 1" Yanlış olsa bile. Bu bağlantılı cevaplara bir göz atacağım. – crunch