Vba: çalışma kitabının açık olup olmadığını kontrol edin (örnekle)


Belirli bir çalışma kitabının şu anda açık olup olmadığını kontrol etmek için VBA’da aşağıdaki sözdizimini kullanabilirsiniz.

 SubCheckWorkbookOpen ()

Dim resultCheck As Boolean
Dim wb As Workbook
Dim specific_wb As String
    
On Error Resume Next
specific_wb = InputBox("Check if this workbook is open:")
    
Set wb = Application.Workbooks.Item(specific_wb)
resultCheck = Not wb Is Nothing

If resultCheck Then
    MsgBox “Workbook is open”
Else
MsgBox “Workbook is not open”
End If
    
End Sub

Bu makro çalıştırıldığında, kullanıcının bir Excel çalışma kitabının adını yazabileceği bir giriş kutusu görünecek ve makro, aşağıdaki sonuçlardan birini içeren bir mesaj kutusu oluşturacaktır:

  • “Dosya açıldı”
  • “Dosya açık değil”

Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.

Örnek: VBA kullanılarak çalışma kitabının açık olup olmadığı nasıl kontrol edilir

Şu anda aşağıdaki adlara sahip iki çalışma kitabımızın açık olduğunu varsayalım:

  • çalışmakitabım1.xlsx
  • çalışmakitabım2.xlsx

Diyelim ki my_workbook1.xlsx adlı çalışma kitabının şu anda açık olup olmadığını kontrol etmek istiyoruz.

Bunun için aşağıdaki makroyu oluşturabiliriz:

 SubCheckWorkbookOpen ()

Dim resultCheck As Boolean
Dim wb As Workbook
Dim specific_wb As String
    
On Error Resume Next
specific_wb = InputBox("Check if this workbook is open:")
    
Set wb = Application.Workbooks.Item(specific_wb)
resultCheck = Not wb Is Nothing

If resultCheck Then
    MsgBox “Workbook is open”
Else
MsgBox “Workbook is not open”
End If
    
End Sub

Bu makroyu çalıştırdığımızda giriş kutusuna my_workbook1.xlsx yazabileceğim bir kutu açılacak:

Tamam’ı tıkladığımda makro aşağıdaki mesaj kutusunu oluşturacaktır:

Makro, bu ada sahip bir çalışma kitabının şu anda açık olduğunu belirtmek için doğru bir şekilde “Çalışma Kitabı açık” ifadesini görüntüler.

Şimdi, şu anda açık olmayan bir çalışma kitabının adını yazdığımı varsayalım:

Tamam’ı tıkladığımda makro aşağıdaki mesaj kutusunu oluşturacaktır:

Makro, bu ada sahip bir çalışma kitabının şu anda açık olmadığını belirtmek için doğru bir şekilde “Çalışma Kitabı açık değil” ifadesini görüntülüyor.

Ek kaynaklar

Aşağıdaki eğitimlerde VBA’da diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:

VBA: Bir çalışma kitabındaki sayfaların sayısı nasıl sayılır?
VBA: birden fazla sütun nasıl eklenir
VBA: birden fazla satır nasıl eklenir

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir