Sub ЗАКРЫТЬ()Dim oWb As Workbook For Each oWb In Workbooks Select Case oWb.Name Case "PERSONAL.XLS" 'Ваши действия с этой книгой Case "КПДТ_ALL_11.xls" 'Ваши действия с этой книгой Case "проверка_1403.xls" 'Ваши действия с этой книгой Case Else 'Если имя не входит в перечисленные выше oWb.Close False End Select Next oWb End Sub
Option ExplicitPrivate Declare Function FindWindowEx Lib "User32" Alias "FindWindowExA" _ (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, _ ByVal lpsz2 As String) As LongPrivate Declare Function IIDFromString Lib "ole32" _ (ByVal lpsz As Long, ByRef lpiid As GUID) As LongPrivate Declare Function AccessibleObjectFromWindow Lib "oleacc" _ (ByVal hWnd As Long, ByVal dwId As Long, ByRef riid As GUID, _ ByRef ppvObject As Object) As Long Private Type GUID Data1 As Long Data2 As Integer Data3 As Integer Data4(7) As ByteEnd TypePrivate Const S_OK As Long = &H0Private Const IID_IDispatch As String = "{00020400-0000-0000-C000-000000000046}"Private Const OBJID_NATIVEOM As Long = &HFFFFFFF0Sub Терминатор()Dim i As LongDim hWinXL As LongDim xlApp As Excel.ApplicationDim oWb As Excel.Workbook hWinXL = FindWindowEx(0&, 0&, "XLMAIN", vbNullString) While hWinXL > 0 i = i + 1 If GetXLapp(hWinXL, xlApp) Then For Each oWb In xlApp.Workbooks Select Case oWb.Name Case "PERSONAL" 'Ваши действия с этой книгой Case "КПДТ_ALL_11" 'Ваши действия с этой книгой Case "проверка_1403" 'Ваши действия с этой книгой Case Else 'Если имя не входит в перечисленные выше oWb.Close False End Select Next End If hWinXL = FindWindowEx(0, hWinXL, "XLMAIN", vbNullString) Wend End SubFunction GetXLapp(hWinXL As Long, xlApp As Excel.Application) As BooleanDim hWinDesk As Long, hWin7 As LongDim obj As ObjectDim iid As GUID Call IIDFromString(StrPtr(IID_IDispatch), iid) hWinDesk = FindWindowEx(hWinXL, 0&, "XLDESK", vbNullString) hWin7 = FindWindowEx(hWinDesk, 0&, "EXCEL7", vbNullString) If AccessibleObjectFromWindow(hWin7, OBJID_NATIVEOM, iid, obj) = S_OK Then Set xlApp = obj.Application GetXLapp = True End IfEnd Function