Excel'de bir VBA projesi oluşturdum ve söz konusu proje içinde kodu başka bir modüle yazan bir modül var. En sonunda şifreyi gizli tutmak için projeyi şifre ile korudum (hemen bunun çok açık bir şekilde ortaya çıkacağını anlayamadım).VBA yordamını/işlevini bir .xlam eklentisine yazıyor
Kullanıcı dosyayla etkileşimde bulunduğunda, modül kodu çalıştırmayı dener, ancak bir hatayla karşılaşır (parola korumalı bir proje kendini değiştiremez! Hey hepimizin anılarımız var: p).
Dolayısıyla, bunun bir yolu olarak, dosyanın kalan kısmını korurken 'neden korumasız kısmı düzenlenmediğini' düşündüm. Bu yüzden korumasız bir .xlam eklentisi oluşturacağımı, sonra bu kodu bu bölüme yazacağımı düşündüm. Ancak bunun nasıl yapılacağını bulmakta zorluk çekiyorum. Aşağıda başka modül kodu yazdıktan yazdım kodudur:
Public Sub errorWrite()
Dim VBComp As VBIDE.VBComponent
Dim CodeMod As VBIDE.CodeModule
Dim s As String
Dim d As String
Dim lineNumb As Long
With ThisWorkbook.VBProject.VBComponents.item("NewModule")
.CodeModule.InsertLines j, "Public sub newModule()"
j = j + 1
With ThisWorkbook.VBProject.VBComponents.item("NewModule")
.CodeModule.InsertLines j, "(my code etc..)"
j = j + 1
With ThisWorkbook.VBProject.VBComponents.item("NewModule")
.CodeModule.InsertLines j, "end sub"
end sub
ben Stack üzerinde bazı bilgiler bulundu ve başka bir yerde, örneğin .xlam eklentileri (Updating an xlam add-in using VBA) ile ilgili olsa da, ben yerine sadece tutardik olabildiğince basit. Öneriler ve ipuçları çok takdir edilmektedir. Teşekkürler!
:) Teşekkür çalıştığı halde bunu elde, bir çalışma zamanı hatası alıyorum '9', simge aralık dışında. Excel'e göre, eklenti yüklenir, ayrıca hem .xlam uzantılı hem de w/o ile benzersiz bir eklenti adı da kullandım; – Singularity20XX