Merhaba,
Elimde ki dosyada bulunan modüllerden birini , macro ile başka dosyaya kopyalamak istiyorum. Önümde ki engel , Modüllerin şifreli olması. Forumdan
şifreyi macro ile kaldırmayı öğrendim ve çalışıyor. Lakin çalışması ardından
kopyama yapması için çağırdığım modülde gene protect uyarısı alıyorum. Ne yaptıysam beceremedim. İşin ilginç tarafı önce şifreyi kaldıran makroyu çalıştırıp, ardından kopyalama makrosunu çalıştırınca oluyor. Ama Call veya Run komutu ile çağırınca olmuyor.Bu iki macroyu birbirine nasıl bağlarım.
Şifreyi kaldırdan modül,
Sub sifrekaldir()
projesifrekaldir ThisWorkbook, "sifre"
End Sub
Sub projesifrekaldir(dosya, ByVal sifre)
Set Proje = dosya.VBProject
If Proje.Protection <> 1 Then Exit Sub
Set Application.VBE.ActiveVBProject = Proje
SendKeys sifre & "~~"
Application.VBE.CommandBars(1).FindControl(ID:=2578, recursive:=True).Execute
End Sub
Kopyalama yapan modül;
Sub kopyala_basla()
Const MODULE_NAME As String = "Kodlama" ' Name of the module to transfer
Const TEMPFILE As String = "c:\Kodlama.bas" ' temp textfile
Dim WBK As Workbook
'** export the module to a textfile
ThisWorkbook.VBProject.VBComponents(MODULE_NAME).Export TEMPFILE
On Error Resume Next
'**Create new workbook
Set WBK = Workbooks.Add
'import the module to the new workbook
WBK.VBProject.VBComponents.Import TEMPFILE
'kill the textfile
Kill TEMPFILE
End Sub
Elimde ki dosyada bulunan modüllerden birini , macro ile başka dosyaya kopyalamak istiyorum. Önümde ki engel , Modüllerin şifreli olması. Forumdan
şifreyi macro ile kaldırmayı öğrendim ve çalışıyor. Lakin çalışması ardından
kopyama yapması için çağırdığım modülde gene protect uyarısı alıyorum. Ne yaptıysam beceremedim. İşin ilginç tarafı önce şifreyi kaldıran makroyu çalıştırıp, ardından kopyalama makrosunu çalıştırınca oluyor. Ama Call veya Run komutu ile çağırınca olmuyor.Bu iki macroyu birbirine nasıl bağlarım.
Şifreyi kaldırdan modül,
Sub sifrekaldir()
projesifrekaldir ThisWorkbook, "sifre"
End Sub
Sub projesifrekaldir(dosya, ByVal sifre)
Set Proje = dosya.VBProject
If Proje.Protection <> 1 Then Exit Sub
Set Application.VBE.ActiveVBProject = Proje
SendKeys sifre & "~~"
Application.VBE.CommandBars(1).FindControl(ID:=2578, recursive:=True).Execute
End Sub
Kopyalama yapan modül;
Sub kopyala_basla()
Const MODULE_NAME As String = "Kodlama" ' Name of the module to transfer
Const TEMPFILE As String = "c:\Kodlama.bas" ' temp textfile
Dim WBK As Workbook
'** export the module to a textfile
ThisWorkbook.VBProject.VBComponents(MODULE_NAME).Export TEMPFILE
On Error Resume Next
'**Create new workbook
Set WBK = Workbooks.Add
'import the module to the new workbook
WBK.VBProject.VBComponents.Import TEMPFILE
'kill the textfile
Kill TEMPFILE
End Sub
