• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

sürücüde bir klasörün olup olmadığına nasıl bakılır?

Katılım
14 Ekim 2006
Mesajlar
267
Excel Vers. ve Dili
excel2003 Tr
sn hocalarım
sabah sabah bir problemle karşılaştım. aşağıdaki kodlarla bir klasörü c:\isos yedek içine kopyalıyorum. ancak bugün için tekrar yedek almak istediğimde c:\isos yedek klasörü var olduğu için hata veriyor. bu kodları şöyle yazmam gerekiyor. c:\ de isos yedek varsa devam et yoksa klasörü oluştur.

On Error GoTo 10
MsgBox "YEDEKLEME C SÜRÜCÜSÜNE VE YEDEK ADLI KLASÖRE YAPILACAK", , "İSOS YEDEKLEME"
MkDir ("c:\isos yedek")
Dim ds
Set dt = CreateObject("Scripting.FileSystemObject")
ds.CopyFolder ThisWorkbook.Path & "\" & Label5, "c:\isos yedek" & "\" & Format(Now, "dd_mm_yyyy")
MsgBox (Label5 & " YILINA VE BUGÜNE AİT YEDEKLEME TAMAMLANMIŞTIR.")
Exit Sub
10 MsgBox "BUGÜNE AİT YEDEKLEME YAPILMIŞ.", , "HATA!"

yardımcı olacak arkadaşlara şimdiden teşekkür ederim. saygılar:yardim:
 
Aşağıdaki gibi deneyin.

Kod:
On Error GoTo 10
[B][COLOR=blue]bul = CreateObject("Scripting.FileSystemObject").FolderExists("c:\isos yedek")[/COLOR][/B]
[B][COLOR=blue]If bul = True Then goto 20[/COLOR][/B]
MsgBox "YEDEKLEME C SÜRÜCÜSÜNE VE YEDEK ADLI KLASÖRE YAPILACAK", , "İSOS YEDEKLEME"
MkDir ("c:\isos yedek")
[B][COLOR=blue]20[/COLOR][/B] Dim ds
Set dt = CreateObject("Scripting.FileSystemObject")
ds.CopyFolder ThisWorkbook.Path & "\" & Label5, "c:\isos yedek" & "\" & Format(Now, "dd_mm_yyyy")
MsgBox (Label5 & " YILINA VE BUGÜNE AİT YEDEKLEME TAMAMLANMIŞTIR.")
Exit Sub
10 MsgBox "BUGÜNE AİT YEDEKLEME YAPILMIŞ.", , "HATA!"
 
sn leventm

bul= kısmına variable not defined hatası veriyor.daha farklı şekillerde uyarlamaya çalıştım ama hep bu hata çıkıyor. yardımcı olabilirmisiniz.
ilginize teşekkürler saygılar:yardim:
 
Bu hatayı alma sebebi değişkenlerin tanımlanmamış olmasından kaynaklanıyor. Değişkenlerinizi tanımlayınız.
Örnek: Dim bul As Object
 
Yada kodların en üstünde bulunan aşağıdaki satırı kaldırın.

Kod:
Option Explicit
 
şu şekilde hallettim herkese teşekkürler

On Error GoTo 10
MsgBox "YEDEKLEME C SÜRÜCÜSÜNE VE YEDEK ADLI KLASÖRE YAPILACAK", , "İSOS YEDEKLEME"
Dim bul
bul = CreateObject("Scripting.FileSystemObject").FolderExists("c:\isos yedek")
If bul = True Then GoTo 20
MkDir ("c:\isos yedek")
20 Dim ds
Set ds = CreateObject("Scripting.FileSystemObject")
ds.CopyFolder ThisWorkbook.Path & "\" & Label5, "c:\isos yedek" & "\" & Format(Now, "dd_mm_yyyy")
MsgBox (Label5 & " YILINA VE BUGÜNE AİT YEDEKLEME TAMAMLANMIŞTIR.")
Exit Sub
10 MsgBox "BUGÜNE AİT BİR YEDEK KLASÖRÜ MEVCUT.", , "HATA!"
End Sub
 
Geri
Üst