2012-03-13 25 views
10

VBA'da çalışırken çoğaltma kodundan kaçınmanın en iyi yolu nedir?VBA ile Kod Nasıl Yeniden Kullanılır

Sadece bir import deyimi ekleyebileceğim ve sınıfın genel özelliklerine ve işlevlerine erişim sağlayabildiğim dillere alışkınım, bu yüzden bazı ortak işlevlere sahip bir yardımcı program sınıfı oluşturabilir ve herhangi bir projede buna erişebilirim Onu almayı seçiyorum. Bu işlevlerden birini güncellemek istediğimde, bir düzenleme tüm projeler üzerinde çalışmasını sağlamak için gereken tek şeydir.

Bu işlevi VBA'da çoğaltmanın iyi bir yolu var mı?

cevap

13

Aşağıdakiler Excel'deki odakları takip eder ancak aynı durumun herhangi bir Office ürününe uygulanacağından eminsiniz.

Kolay yolu, yeniden kullanılabilir kodunuzu bir eklenti olarak kaydetmektir (Excel 2003 için * .xla, Excel 2007 için * .xlam). Daha sonra, eklentiyi Excel'e eklersiniz ve açtığınız tüm elektronik sayfalar, eklentinizdeki özel işlevlere erişebilir. Bir e-tabloya belirli bir VBA kodu eklerseniz, eklentinize bir başvuru ekleyebilir ve VBA kodunuz eklentinin tüm alt alt işlevlerine ve sınıflarına erişebilir.

Kuruluşumda, 3 ev yapımı eklenti kullanıyoruz - bunlar C: \ Program Files \ OrganisationName içinde depolanıyor. Ve herkesin onlara erişimi var. Bir güncelleme yapıldığında, sadece yeni sürümü herkesin sabit diskine kopyalamamız ve Excel'i yeniden başlatmamız ve yeni sürüme sahip olmamız gerekiyor.

eklentileri örneğin için işlevler gibi kamu işlevleri içerir:

  • -tablo/dosya/veritabanlarına veri yazma/veri okumak.

    • açık Excel'in çeşitli örneklerini varsa, yalnızca: vb
    • gelişmiş istatistiksel fonksiyonları bir listeden

    Birkaç sakıncaları

  • çiftleri kaldırma gibi
  • zamanki veri işleme biri eklentiyi güncelleyebilir, diğer örnekler salt okunur moddadır
  • Excel çökerse, otomatik kurtarma modu genellikle kaydetmez. Eğer eklenti (yeni sürümlerinde TBC) üzerinde yapılan değişiklikleri - Düzenli

Alternatif XLLs veya VB COM kütüphaneleri veya C# örneğin geliştirmektir oto için birkaç araçları kurtarmak vardır ama bu bir şey bu denemedi.

Daha ayrıntılı bir prosedüre ihtiyacınız varsa, birçok çevrimiçi eğitici var.

+0

Mükemmel. Biraz takıldım çünkü bir referans yapmayı unuttum, ama bir kez yazıyı tekrar okudum ve her şeyin düzgün bir şekilde çalıştığını gördüm. Teşekkürler :) –

+0

Sizin dezavantajlarınız (güncelleme) burada çözüldü: http://www.excelguru.ca/content.php?152-Deploying-Add-ins-in-a-Network-Environment. Umarım bu, gelecekte buraya gelen herkese yardımcı olur. –

İlgili konular