OCX dosyalarını istediğim klasöre kopyalama.

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Merhaba.
İçinde bulunduğu klasörden OCX dosyalarını C:\Deneme klasörü içersine kopyalamak istiyorum.
Döngüye girecek.Kaç tane OCX dosyası varsa kopyalayacak.
Sonuçtada kaç tane ocx dosyasının kopyalandığın mesajbox'la bildirecek.
Teşekkür ederim.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,591
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Evren bey,

Aşağıdaki kodu denermisiniz.

Kod:
Sub OCX_KOPYALA()
    Dim Klasör As Object
    Dim Dosya As Object
    Dim FSO As Object
    Dim Dosya_Yolu As String
    Dosya_Yolu = "C:\DENEME"
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set Klasör = CreateObject("Scripting.FileSystemObject")
    Set Dosya = Klasör.GetFolder(Dosya_Yolu)
    
    If Not FSO.FolderExists(Dosya_Yolu) Then
    FSO.CreateFolder (Dosya_Yolu)
    End If
    
    Klasör.CopyFile "C:\WINDOWS\system32\*.OCX", "C:\DENEME"
    MsgBox "Kopyalanan *.ocx uzantılı dosya sayısı;" & Chr(10) & Chr(10) & Dosya.Files.Count
End Sub
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Korhan bey 2nci satırda 16ncı karakterde hata veriyor.
Not:
Dosya vbs uzantılı dosya olacaktı.
 

tahsinanarat

Altın Üye
Katılım
14 Mart 2005
Mesajlar
2,158
Excel Vers. ve Dili
Ofis 2019 Türkçe
Altın Üyelik Bitiş Tarihi
27-05-2028
.* uzantılı dosyalar istenilen klasöre

Sevgili hocam, bu sitede sizlerden öğrendiğim bilgiler doğrultusunda istediğiniz mantıkla bir dosya hazırlamaya çalıştım, umarım beğenirsiniz, Kolay gelsin

vba şifresi ve kaydetme şifresi 123
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Sevgili hocam, bu sitede sizlerden öğrendiğim bilgiler doğrultusunda istediğiniz mantıkla bir dosya hazırlamaya çalıştım, umarım beğenirsiniz, Kolay gelsin

vba şifresi ve kaydetme şifresi 123
Sayın tahsinarat teşekkür ederim.
Yalnız ben VBScript kodu istemiştim.Dosya Uzantısı Vbs olacaktı.NotePad'de yazabiliyorsunuz.
Uzantısınıda farklı kaydetten xxx.vbs olarak kaydediyorsunuz.
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,323
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Evren bey;

Birincisi; VBScript dilinde "Dim XXXX as YYYY" gibi değişken tanımlaması yapılmaz.. Dolayısıyle, o satırların hepsini silin.

İkincisi; VBScript dilinde kullandığınız değişken adlarında kesinlikleTürkçe karakter kullanmamaya dikkat edeceksiniz.

Üçüncüsü; VBScript ile hazırladığınız bir dosyada eğer prosedüre bir ad vermişseniz (Korhan bey'in kodundaki OCX_KOPYALA gibi....) o zaman bu prosedürü çalıştırmak için, prosedürü adıyla çağırmanız gerekir.

Yukarıdaki açıklamaların ışığında, Korhan bey'in VBA dilindeki kodunu VBS dosyası olarak kullanmak istediğinizde, yapılması gereken revizyon aşağıdaki gibidir;

Kod:
Sub OCX_KOPYALA()
    Dosya_Yolu = "C:\DENEME"
    Set FSO = CreateObject("Scripting.FileSystemObject")
    If Not FSO.FolderExists(Dosya_Yolu) Then
       FSO.CreateFolder (Dosya_Yolu)
    End If
 
    Set Klasor = CreateObject("Scripting.FileSystemObject")
    Set Dosya = Klasor.GetFolder(Dosya_Yolu)
      
    Klasor.CopyFile "C:\WINDOWS\system32\*.OCX", "C:\DENEME"
    MsgBox "Kopyalanan *.ocx uzantılı dosya sayısı;" & Chr(10) & Chr(10) & Dosya.Files.Count
End Sub
'
Call OCX_KOPYALA

.
 
Son düzenleme:

tahsinanarat

Altın Üye
Katılım
14 Mart 2005
Mesajlar
2,158
Excel Vers. ve Dili
Ofis 2019 Türkçe
Altın Üyelik Bitiş Tarihi
27-05-2028
Hocam, dediğiniz dosya olduğunda eklermisiniz, merak ettim.
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,323
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Hocam, dediğiniz dosya olduğunda eklermisiniz, merak ettim.
Pardon, bana mı dediniz?

Eğer bana diyorsanız, sözkonusu dosyanın içindeki kodlar (orjinali Korhan bey'e ait) yukarıdaki mesajımda.

Yeni bir Notepad dosyası oluşturun, dosyaya herhangibir isim verin, uzantısını vbs yapın, kaydedip, kapatın.

Daha sonra dosyanın üzerinde çift tıklayıp, çalıştırın...

.
 

tahsinanarat

Altın Üye
Katılım
14 Mart 2005
Mesajlar
2,158
Excel Vers. ve Dili
Ofis 2019 Türkçe
Altın Üyelik Bitiş Tarihi
27-05-2028
Sn. Haluk hocam note pad "Not Defteri" aynı şeyler değilmi, not defteri ne kopyalarak dediğiniz gibi denemiştim, ama olmadı, bu açıdan sn.evren gizlen hocama dosyanın olmuş halini eklemesini rica etmiştim. şu an tekrar denedim. olmadı. İlginize teşekkürler.
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,323
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Tahsin bey;

Sözkonusu VBS dosyası ektedir. (Not: Orjinal kodda gözüme çarpan bir-iki düzeltmeyi de yaptım.)

Çift tıklayıp çalıştırabilirsiniz.... Eğer yine de olmuyorsa, belki PC'de WSH aktif edilmemiş olabilir.


.
 

tahsinanarat

Altın Üye
Katılım
14 Mart 2005
Mesajlar
2,158
Excel Vers. ve Dili
Ofis 2019 Türkçe
Altın Üyelik Bitiş Tarihi
27-05-2028
Sn. Haluk hocam gönderdiğiniz test dosyası oldu, şimdi yeni birşey daha öğrenmiş bulunmaktayım, Emeği geçen bütün hocalarıma teşekkür ederim. Saygılar.

Bu arada iki kod arasındaki farkı incelerken fark ettim, ben ilk denememde '
Call OCX_KOPYALA kısmını fazlalık diye düşündüğümden yazmamıştım, oysa önceki dosyada bu şekilde çalışıyormuş, olsun öğrenmeler bu şekilde olur zaten. Tekrar teşekkürler
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Haluk hocam verdiğiniz birbirinden değerli bilgiler için ve Kodlar için teşekkür ederim.
Acaba şöyle bir şey istesem diyorum.
Kaynak yolu , vbs dosyasının içinde bulunduğu yol olarak belirtebilirmiyiz?
Vbs dosyası hangi klasörün içinde bulunuyorsa o klasörün içindeki ocx dosyaları C:\Deneme klasörü içersine kopyalansın.
Tekrardan teşekkür ederim.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,591
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Haluk bey verdiğiniz değerli bilgiler için bende teşekkür ederim.
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,323
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Ben de size teşekkür ederim beyler.


Acaba şöyle bir şey istesem diyorum.
Kaynak yolu , vbs dosyasının içinde bulunduğu yol olarak belirtebilirmiyiz?
Evren bey, ekli revizyon sanırım işinizi görecektir.

.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Merhaba.
Hocam şöyle bir durum oluştu.
Eğer buluduğu klasörde hiç ocx dosyası yoksa hata veriyor.
Eğer hiç ocx dosyası yoksa
xxxx klasöründe kopyalanacak ocx dosyası/dosyaları bulunamadı.!
Diye mesaj verbilirmi?
Teşekkür ederim.
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,323
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Evren bey, buyrun;

Kod:
Sub OCX_KOPYALA()
    Dosya_Yolu = "C:\DENEME"
    Set FSO = CreateObject("Scripting.FileSystemObject")
    If Not FSO.FolderExists(Dosya_Yolu) Then
       FSO.CreateFolder (Dosya_Yolu)
    End If
 
    Set Klasor = CreateObject("Scripting.FileSystemObject")
    Set Dosya = Klasor.GetFolder(Dosya_Yolu)
    on error resume next      
    Klasor.CopyFile Replace(WScript.ScriptFullname,WScript.ScriptName,"") & "*.OCX", "C:\DENEME"
    
    if err then
       msgbox Replace(WScript.ScriptFullname,WScript.ScriptName,"") & chr(13) & "klasöründe kopyalanacak OCX dosyası bulunamadı..."
       exit sub
    end if
    MsgBox "Kopyalanan *.ocx uzantılı dosya sayısı;" & Chr(10) & Chr(10) & Dosya.Files.Count
End Sub
'
Call OCX_KOPYALA

.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Halu hocam teşekkür ederim.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Haluk hocam bu konu ile son bir soru ve bu konu bitiyor.Böylelikle küçük bir setup programı sayenizde yapmış olacağız.
Dosyaları klasöre kopyalarken ayni zamanda regsvr32 dosyası ilede windowsa tanıntsa.Kodları bu şekilde revize ederek yollarsanız çok memnun olurum.
Tekrar teşekkür ederim.
 
Katılım
22 Nisan 2005
Mesajlar
486
Excel Vers. ve Dili
tarkan@tarkanvural.com.tr
Selam,
Evren Bey aşağıdaki kodlamayı kulanabilirsiniz, işinizi yapar...

Kod:
Sub OCX_Copy_Run()
    On Error Resume Next
    Dim FSO
    Dim EVNShell
    Dim EVNDos
    Dim EVN1
    Dim EVN2
    Dim EVN3
    Yol = "C:\DENEME"
    Set FSO = CreateObject("Scripting.FileSystemObject")
       If Not FSO.FolderExists(Yol) Then
           FSO.CreateFolder (Yol)
       End If
    Set EVNDos = FSO.GetFolder(Yol)
        EVN1 = Replace(WScript.ScriptFullname, WScript.ScriptName, "") & "*.ocx"
            FSO.CopyFile EVN1, Yol
    If Err.Number = 53 Then
       MsgBox Replace(WScript.ScriptFullname, WScript.ScriptName, "") & vbcr & "klasöründe kopyalanacak OCX dosyası yok  ",16 , "Evren GİZLEN"
       Exit Sub
    End If
        MsgBox EVNDos.Files.Count &" adet ocx uzantılı dosya kopyalandı " ,64 , "Evren GİZLEN"
    Set EVNShell = CreateObject("WScript.Shell")
    Set EVN2 = EVNDos.Files
        For Each EVN3 In EVN2
            EVNShell.Run ("%SystemRoot%\system32\regsvr32 " & EVN3)
        Next
End Sub
Call OCX_Copy_Run
 
Üst