Kapalı Dosya Açık Kapat veya Kapalı İse Aç

ahmed_ummu

Altın Üye
Katılım
28 Mart 2011
Mesajlar
731
Excel Vers. ve Dili
Excel 2010 Professional Plus 64 Bit
Altın Üyelik Bitiş Tarihi
15-10-2026
Merhaba arkadaşlar.

Kapalı bir dosyada çalışırken, dosya daha önce açık ise "Bu dosya zaten açık" uyarısı vermesin istiyorum. Veya kapatılacağı zaman, kapalı ise de uyarı vermesin istiyorum.

Veya

Eğer dosya açık ise kapat
else (kapalı ise)
dosyayı aç
end if

Diye bir kod var mıdır. Yardımcı olursanız sevinirim.
 

Korhan Ayhan

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

C++:
Option Explicit

Sub Test()
    Dim WB As Workbook, File_Name As String
    
    File_Name = "Deneme.xlsm"
    
    On Error Resume Next
    Set WB = Workbooks(File_Name)
    On Error GoTo 0
    
    If WB Is Nothing Then
        Set WB = Workbooks.Open(File_Name, False, False)
    Else
        WB.Activate
    End If
End Sub
 

ahmed_ummu

Altın Üye
Katılım
28 Mart 2011
Mesajlar
731
Excel Vers. ve Dili
Excel 2010 Professional Plus 64 Bit
Altın Üyelik Bitiş Tarihi
15-10-2026
Deneyiniz.

C++:
Option Explicit

Sub Test()
    Dim WB As Workbook, File_Name As String
  
    File_Name = "Deneme.xlsm"
  
    On Error Resume Next
    Set WB = Workbooks(File_Name)
    On Error GoTo 0
  
    If WB Is Nothing Then
        Set WB = Workbooks.Open(File_Name, False, False)
    Else
        WB.Activate
    End If
End Sub
Korhan bey çok teşekkür ederim. Bu kod açık ise kapat, kapalı ise aç için mi?

Dosya açık iken, dosya zaten açık, yeniden açılsın mı diye uyarı veriyor.
 
Son düzenleme:

ahmed_ummu

Altın Üye
Katılım
28 Mart 2011
Mesajlar
731
Excel Vers. ve Dili
Excel 2010 Professional Plus 64 Bit
Altın Üyelik Bitiş Tarihi
15-10-2026
Dosya kapalı ilen de dosya bulunamadı diye hata veriyor.

Belirtmeyi unuttum. Kapalı dosyalar, çalışma kitabının bulunduğu klasörde. Ondan hata veriyor olabilir mi?
 
Son düzenleme:

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,276
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Kod genel bir kontrol için...

If koşul bloklarını kendi isteğinize göre şekillendirebilirsiniz..

Hatta koda klasör yolunu da eklememiz daha doğru olacaktır.

C++:
Option Explicit

Sub Test()
    Dim WB As Workbook, File_Path As String, File_Name As String
    
    File_Path = ThisWorkbook.Path
    File_Name = "Deneme.xlsm"
    
    On Error Resume Next
    Set WB = Workbooks(File_Name)
    On Error GoTo 0
    
    If WB Is Nothing Then
        Set WB = Workbooks.Open(File_Path & Application.PathSeparator & File_Name, False, False)
    Else
        WB.Activate
    End If
End Sub
 

ahmed_ummu

Altın Üye
Katılım
28 Mart 2011
Mesajlar
731
Excel Vers. ve Dili
Excel 2010 Professional Plus 64 Bit
Altın Üyelik Bitiş Tarihi
15-10-2026
Kod genel bir kontrol için...

If koşul bloklarını kendi isteğinize göre şekillendirebilirsiniz..

Hatta koda klasör yolunu da eklememiz daha doğru olacaktır.

C++:
Option Explicit

Sub Test()
    Dim WB As Workbook, File_Path As String, File_Name As String
   
    File_Path = ThisWorkbook.Path
    File_Name = "Deneme.xlsm"
   
    On Error Resume Next
    Set WB = Workbooks(File_Name)
    On Error GoTo 0
   
    If WB Is Nothing Then
        Set WB = Workbooks.Open(File_Path & Application.PathSeparator & File_Name, False, False)
    Else
        WB.Activate
    End If
End Sub
Teşekkürler Korhan bey.
 
Üst