AccessTr.neT
Access İle Açık Excel Belgesini Kapatma - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html)
+--- Forum: Access Cevaplanmış Soruları (https://accesstr.net/forum-access-cevaplanmis-sorulari.html)
+--- Konu Başlığı: Access İle Açık Excel Belgesini Kapatma (/konu-access-ile-acik-excel-belgesini-kapatma.html)



Access İle Açık Excel Belgesini Kapatma - access_delisi - 20/09/2017

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.


Cvp: Access İle Açık Excel Belgesini Kapatma - ozanakkaya - 20/09/2017

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.


Cvp: Access İle Açık Excel Belgesini Kapatma - access_delisi - 20/09/2017

ozan bey çok tesekkur ederim.