AccessTr.neT

Tam Versiyon: Access İle Açık Excel Belgesini Kapatma
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Merhaba, konu başlığında da belirttiğim gibi, forma eklediğim butonu tıkladığımda belirli Excel belgesinin açık olup olmadığını nasıl denetleyebilirim? Ve bu açık Excel belgesini kod ile nasıl kapatabilirim.
Merhaba. Modüle ekleyeceğiniz


Public Function IsWorkbookOpen(ByVal strWorkBookName As String) As Boolean

    Dim objExcel As Object
    Dim varWorkbook As Variant
On Error GoTo ExitFunction
    Set objExcel = GetObject(, "Excel.Application")
    For Each varWorkbook In objExcel.Workbooks
        If varWorkbook.Name = strWorkBookName Then
            IsWorkbookOpen = True
            Exit For
        End If
    Next
ExitFunction:
    Set objExcel = Nothing
    
End Function


kodu ile Excel belgesinin açık olup olmadığını denetleyebilirsiniz. Kodun kullanımı:


If IsWorkbookOpen("excelbelgesininadi.xlsx") = True Then
msgbox("belge açık")
end if

Şeklindedir.


Dim GExcelBelgesi As String
Dim xlApp As Object
Dim wb As Workbook

GExcelBelgesi = CurrentProject.Path & "\deneme.xlsx"

If IsWorkbookOpen("deneme.xlsx") = True Then

   Set xlApp = GetObject(, "Excel.Application")
   xlApp.Application.ScreenUpdating = False
   xlApp.Visible = True
   
   Set wb = xlApp.Workbooks.Open(GExcelBelgesi, True, False)


   xlApp.Application.ScreenUpdating = True
   wb.Save
   wb.Close False
   
   xlApp.Quit
   Set xlApp = Nothing

End If

Kodu ile de açık olan Excel belgesini kapatabilirsiniz.
ozan bey çok tesekkur ederim.