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:
- sürüm VBA modülleri için kontrol
- 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
- kullanıcılar çok teknik ve daha az sürüm kontrol sistemlerini iyi kullandı
- Alan kısıtlaması bir husustur. İdeal sadece artımlı değişiklikler tüm Excel yerine kaydedilir.
CEVAP
Ç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!
Bir şekilde eğer bir dosyanın kullanım...
En zarif şekilde, string Python boş ol...
Bir şekilde WPF şu anda Tasarım modund...
Negatif değerler için kontrol etmek ye...
Eğer bir kayıt varsa düzgün bir şekild...