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.