Windows API VisualBasic Script

Private Const FORMAT_MESSAGE_FROM_SYSTEM As Long = &H1000
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal ClassName As String, ByVal WindowName As String) As Long
Declare Function GetWindowRect Lib "user32" (ByVal hWnd As Long,Rect As Rect) As Long
Private Declare Function FormatMessage Lib "kernel32" Alias "FormatMessageA" (ByVal dwFlags As Long, ByVal Source As Long, ByVal MessageId As Long, ByVal LanguageId As Long, ByVal Buffer As String, ByVal Size As Long, ByVal Arguments As Long) As Long
Private Type Rect
  Left As Long
  Top As Long
  Right As Long
  Bottom As Long
End Type
Sub ShowExcelWindowSize()
  Dim hWnd As Long
  Dim aRect As Rect
  
  hWnd = FindWindow("XLMAIN", Application.Caption)
  If hWnd = 0 Then
    Call MsgBox(LastDLLErrText(Err.LastDllError))
  Else
    Call GetWindowRect(hWnd, aRect)
      Debug.Print " Left: " & aRect.Left 
      Debug.Print " Right: " & aRect.Right 
      Debug.Print " Top: " & aRect.Top
      Debug.Print " Bottom: " & aRect.Bottom 
      Debug.Print " Width: " & (aRect.Right - aRect.Left) 
      Debug.Print " Height: " & (aRect.Bottom - aRect.Top)
  End If
End Sub
Function LastDLLErrText(ByVal ErrorCode As Long) As String
  Dim Buffer As String * 255
  Dim Result As Long
  Result = FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, 0&, ErrorCode, 0, Buffer, 255, 0)
  LastDLLErrText = Left(Buffer, Result)
End Function