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:
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
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!"
 
Katılım
14 Ekim 2006
Mesajlar
267
Excel Vers. ve Dili
excel2003 Tr
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:
 
Katılım
22 Haziran 2005
Mesajlar
998
Excel Vers. ve Dili
Office 2007 Türkçe
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
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Yada kodların en üstünde bulunan aşağıdaki satırı kaldırın.

Kod:
Option Explicit
 
Katılım
14 Ekim 2006
Mesajlar
267
Excel Vers. ve Dili
excel2003 Tr
ş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
 
Üst