Klasör oluşturmak E:\

Katılım
17 Haziran 2008
Mesajlar
1,871
Excel Vers. ve Dili
Microsoft Ofis Profesyonel 2019 x64 TR
Altın Üyelik Bitiş Tarihi
26-03-2020
Merhaba arkadaşlar;
aşağıdaki kodda E:\deneme klasöründen E:\yedek001 sürücüsüne kopyalama yapıyorum.. şu hatalar ve eksikler ile karşılaşmaktayım :
*************************

1- Harddiskte E:\ sürücüsü (HDD) yoksa, yada adı farklı ise mesela D:\ ise sorun oluyor.. Sürücüyü kendim belirleyebileceğim bir düzenleme yapılabilir mi?

2- Sürücü belirlendikten sonra, eğer deneme klasörü yoksa açsın..

3- Deneme klasörünün bulunduğu sürücüde yedek001 isimli bir klasör oluştursun.., mevcutsa oluşturmasın.

bu eklemeleri ve düzeltmeleri nasıl yapabilirim ?

Kod:
Private Sub CommandButton1_Click()
Dim ds, A, f, b
        
        Set ds = CreateObject("Scripting.FileSystemObject")
        A = ds.FolderExists("E:\deneme")
      If A = True Then
      f = ds.CopyFile("[B][COLOR="Blue"]E:\[/COLOR][/B]deneme\*.*", "[B][COLOR="blue"]E:\[/COLOR][/B]yedek001")

MsgBox ("Veri Yedeklendi.. (deneme)"), vbInformation
Unload Me
Else
MsgBox ("[B][COLOR="blue"]E:\[/COLOR][/B]deneme klasörü mevcut değil.."), vbCritical
End If
End sub
yardımcı arkadaşa şimdiden teşekkürler..
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,411
Excel Vers. ve Dili
2019 Türkçe
Aşağıdaki kodları deneyin

Kod:
Private Sub CommandButton1_Click()
    Dim ds, A, f, b
    Set ds = CreateObject("Scripting.FileSystemObject")
    A = ds.FolderExists("E:\deneme")
    If A = True Then
        A = ds.FolderExists("E:\yedek001")
        If Not A = True Then
            ds.createfolder "E:\yedek001"
        End If
        f = ds.CopyFile("E:\deneme\*.*", "E:\yedek001")
        MsgBox ("Veri Yedeklendi.. (deneme)"), vbInformation
       
    Else
        MsgBox ("E:\deneme klasörü mevcut değil.."), vbCritical
    End If
End Sub
 
Katılım
17 Haziran 2008
Mesajlar
1,871
Excel Vers. ve Dili
Microsoft Ofis Profesyonel 2019 x64 TR
Altın Üyelik Bitiş Tarihi
26-03-2020
denedim hocam. Fakat olmadı.. öncelikle bana Sürücüyü sorması lazım., bir defaya mahsus.. bunuda
Kod:
surucu = InputBox("SÜRÜCÜ Adını Giriniz")
inputbox ile çözebiliriz sanırım..
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,852
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Aslında benzer sorularınız aşağıdaki linklerdede mevcut

http://www.excel.web.tr/f48/klasor-olu-turmak-t124795.html
http://www.excel.web.tr/f48/yedek-klasorden-dosya-kopyalama-t123930.html
http://www.excel.web.tr/f48/masaustune-kopyalamak-t107604.html


kod:

Kod:
Private Sub CommandButton1_Click()

Dim ds, b, klasor1, klasor2
Set ds = CreateObject("Scripting.FileSystemObject")
For Each sürücü In ds.Drives

b = MsgBox(sürücü & " Sürücüsünde işlem yapmak istiyormusunuz.?", vbYesNo + vbInformation, " uyarı")
If b = vbYes Then

klasor1 = sürücü & "\" & "deneme"
klasor2 = sürücü & "\" & "yedek001"
If ds.FolderExists(klasor1) = False Then MkDir klasor1
If ds.FolderExists(klasor2) = False Then MkDir klasor2

ds.CopyFolder klasor1, klasor2
MsgBox "işlem tamam"
Exit For
End If
Next


End Sub
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,852
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
yada bunu kullanın

Kod:
Private Sub CommandButton1_Click()
Dim ds, s, b, klasor1, klasor2
Set ds = CreateObject("Scripting.FileSystemObject")

For Each sürücü In ds.Drives
s = s & vbCrLf & sürücü
Next
MsgBox s & vbCrLf & "sürücüler"

For Each sürücü In ds.Drives

b = MsgBox(sürücü & " Sürücüsünde işlem yapmak istiyormusunuz.?", vbYesNo + vbInformation, " uyarı")
If b = vbYes Then

klasor1 = sürücü & "\" & "deneme"
klasor2 = sürücü & "\" & "yedek001"
If ds.FolderExists(klasor1) = False Then MkDir klasor1
If ds.FolderExists(klasor2) = False Then MkDir klasor2

ds.CopyFolder klasor1, klasor2
MsgBox "işlem tamam"
Exit For
End If
Next

End Sub
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,411
Excel Vers. ve Dili
2019 Türkçe
Şöyle mi olsun istiyosunuz

Kod:
Private Sub CommandButton1_Click()
    Dim ds, A, f, b
    Dim surucu As String
    surucu = InputBox("SÜRÜCÜ Adını Giriniz")
    If surucu = "" Then
        MsgBox "Sürücü adı girmediniz. İşlem iptal edildi."
        Exit Sub
    End If
    Set ds = CreateObject("Scripting.FileSystemObject")
    A = ds.FolderExists(surucu & ":\deneme")
    If A = True Then
        A = ds.FolderExists(surucu & ":\yedek001")
        If Not A = True Then
            ds.createfolder surucu & ":\yedek001"
        End If
        f = ds.CopyFile(surucu & ":\deneme\*.*", surucu & ":\yedek001")
        MsgBox ("Veri Yedeklendi.. (deneme)"), vbInformation
        Unload Me
    Else
        MsgBox (surucu & ":\deneme klasörü mevcut değil.."), vbCritical
    End If
End Sub
 
Katılım
17 Haziran 2008
Mesajlar
1,871
Excel Vers. ve Dili
Microsoft Ofis Profesyonel 2019 x64 TR
Altın Üyelik Bitiş Tarihi
26-03-2020
Aslında benzer sorularınız aşağıdaki linklerdede mevcut

http://www.excel.web.tr/f48/klasor-olu-turmak-t124795.html
http://www.excel.web.tr/f48/yedek-klasorden-dosya-kopyalama-t123930.html
http://www.excel.web.tr/f48/masaustune-kopyalamak-t107604.html


Aslında bu vermiş olduğunuz linklerin hiçbirinde sürücücü sorma gibi bir durum yok.. Yol hep belli..

son göndermiş olduğunuz kodun başlangıcı tamam.. ama butonu tekrar çalıştırdığımda yine sürücüyü soruyor.. ilk çalıştırmada sürücüyü ve kalsörü belli ettiğime göre butonu tekrar çalıştırdığımda sormaması lazım sayın halit hocam.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,852
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Aslında benzer sorularınız aşağıdaki linklerdede mevcut

http://www.excel.web.tr/f48/klasor-olu-turmak-t124795.html
http://www.excel.web.tr/f48/yedek-klasorden-dosya-kopyalama-t123930.html
http://www.excel.web.tr/f48/masaustune-kopyalamak-t107604.html


Aslında bu vermiş olduğunuz linklerin hiçbirinde sürücücü sorma gibi bir durum yok.. Yol hep belli..

son göndermiş olduğunuz kodun başlangıcı tamam.. ama butonu tekrar çalıştırdığımda yine sürücüyü soruyor.. ilk çalıştırmada sürücüyü ve kalsörü belli ettiğime göre butonu tekrar çalıştırdığımda sormaması lazım sayın halit hocam.
Bu kod sürücüyü her zaman sorar
 
Katılım
17 Haziran 2008
Mesajlar
1,871
Excel Vers. ve Dili
Microsoft Ofis Profesyonel 2019 x64 TR
Altın Üyelik Bitiş Tarihi
26-03-2020
Evet hocam,, aynen bu şekilde..; inputbox herzaman çıkmayacak hocam. sadece klasör ve sürücü yeri belli değil ise çıkacak.. yani diyelim ki ilk başta klasörler yok,, ( C:\,D:\,E:\ de...) bunlardan herhangi birine oluşturduğumda bir daha ki buton çalıştırdığımda inputbox ile sürücü ve yol sormayacak..
 
Son düzenleme:
Üst