Одно из 2-х :-)
1. Либо имеем дело с Excel 2010, тогда код должен выглядеть так:
#If VBA7 Then
Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtr
Declare PtrSafe Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As LongPtr, ByVal wMsg As Long, ByVal wParam As LongPtr, lParam As Any) As LongPtr
Declare PtrSafe Function DestroyWindow Lib "user32" Alias "DestroyWindow" (ByVal hwnd As LongPtr) As Long
#Else
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function DestroyWindow Lib "user32" (ByVal hWnd As Long) As Long
#End If
Const WM_CLOSE = &H10
Sub CloseImageWriter()
Dim hApp&
Do
hApp = FindWindow("PrintUI_PrinterQueue", vbNullString)
If hApp = 0 Then Exit Do
Call SendMessage(hApp, WM_CLOSE, 0, 0)
Call DestroyWindow(hApp)
Loop
End Sub
2. Либо ищем не то окно, я приложил рисунок окна, для закрытия которого написан код. Если окно другое, то приложите его картинку.
3. Либо что-то с кодом - приложите Excel-книгу с кодом