SORU
25 EYLÜL 2008, PERŞEMBE


En iyi şekilde yapmak için Kontrol etmek için Sürüm, MS Excel

Ne kontrol sistemleri, MS Excel (2003/2007) ile kullanmış olduğunuz sürüm? Ve Neden ne önerirsiniz? Sınırlamalar top rated sürüm kontrol sistemi ile ne buldun?

Perspektif bu koymak için, burada kullanım örnekleri bir çift vardır:

  1. sürüm VBA modülleri için kontrol
  2. birden fazla kişi Excel bir elektronik tablo üzerinde çalışıyor ve birleştirme ve entegre etmek istedikleri aynı çalışma, değişiklik yapıyor olabilir. Bu çalışma, veri, grafik vb formüller olabilir
  3. kullanıcılar çok teknik ve daha az sürüm kontrol sistemlerini iyi kullandı
  4. Alan kısıtlaması bir husustur. İdeal sadece artımlı değişiklikler tüm Excel yerine kaydedilir.

CEVAP
5 Ocak 2010, Salı


Çarşı, manuel kontrol TortiseBZR)/kullanan bir elektronik tablo kurdum sadece. Konu Kaydet kısmı ile bana yardımcı oldu göz önüne alındığında, benim çözüm burada yazmak istedim.

Benim için çözüm Kaydet tüm modülleri ihraç eden bir elektronik tablo oluşturun ve açık re-ithalat modülleri kaldırır. Evet, bu mevcut tabloları dönüştürmek için potansiyel olarak tehlikeli olabilir.

Bu beni üzerinden modüllerde makroları düzenlemenize olanak verirEmacs(emacs Evet) veya Excel'deki özgün ve önemli değişikliklerden sonra en kolayıdır. Bazaar ' benim depo tamamlama. Tüm modülleri metin dosyaları, Excel dışında kaynaklarım için en kolayıdır. Bazaar ' iş diff-stili standart komutları dosya kendisi.

En kolayıdır. Bazaar ' benim depo için bir dizin, X:\Data\MySheet kurdum. Repo var MySheet.xls ve tek .benim modüllerin her biri için dosya vba (örn: Module1Macros). Benim elektronik ihracat/ithalat döngüsü denir muaf olan bir modül ekledim "". VersionControl İhraç edilecek modül ve yeniden alınan her bitmelidir "". Makrolar

Bu içeriği "VersionControl" modülü:

Sub SaveCodeModules()

'This code Exports all VBA modules
Dim i%, sName$

With ThisWorkbook.VBProject
    For i% = 1 To .VBComponents.Count
        If .VBComponents(i%).CodeModule.CountOfLines > 0 Then
            sName$ = .VBComponents(i%).CodeModule.Name
            .VBComponents(i%).Export "X:\Tools\MyExcelMacros\" & sName$ & ".vba"
        End If
    Next i
End With

End Sub

Sub ImportCodeModules()

With ThisWorkbook.VBProject
    For i% = 1 To .VBComponents.Count

        ModuleName = .VBComponents(i%).CodeModule.Name

        If ModuleName <> "VersionControl" Then
            If Right(ModuleName, 6) = "Macros" Then
                .VBComponents.Remove .VBComponents(ModuleName)
                .VBComponents.Import "X:\Data\MySheet\" & ModuleName & ".vba"
           End If
        End If
    Next i
End With

End Sub

Sonraki, aç / Kaydet için olay kanca kurulumu için bu makroları çalıştırmak için var. Kod görüntüleyici, sağ tıklayın "ve ardından" Görünüm Kodu". ThisWorkbook Kod pencerenin üst kısmındaki filtre kutusunu değiştirmek için aşağı çekmek için "(Genel)" "görüntüleyin. Kitabına" görünümü olabilir

"Çalışma Kitabı" görünüm: . içindekiler

Private Sub Workbook_Open()

ImportCodeModules

End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

SaveCodeModules

End Sub

Önümüzdeki birkaç hafta içinde bu iş akışı içine yerleşiyor olacağım, ve eğer herhangi bir sorun varsa göndeririz.

VBComponent kodu paylaştığınız için teşekkür ederiz!

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • hidetake takayama

    hidetake tak

    3 Mart 2009
  • TWiT Netcast Network

    TWiT Netcast

    27 EKİM 2005
  • Unbox Therapy

    Unbox Therap

    21 Aralık 2010