Основы офисного программирования и язык VBA


Пример 6.2


Public Sub WorkWithWindows()

Dim Res As Long 'Результат выполнения функции

Dim HandleAW As Long 'Описатель активного окна

Dim RectAW As RECT 'Структура, задающая прямоугольник окна

Dim TextAW As String 'Заголовок активного окна

Dim LenTextAW As Long 'Длина строки

Dim HandleW As Long 'Описатель окна

Dim TextW As String 'Заголовок окна

'Получить описатель активного окна

HandleAW = GetActiveWindow

Debug.Print HandleAW

'Получить прямоугольник, задающий положение активного окна

Res = GetWindowRect(HandleAW, RectAW)

Debug.Print Res

If Res > 0 Then 'OK

Debug.Print "Размеры окна: Left = ", RectAW.Left, " Top = ", _

RectAW.Top, " Right = ", RectAW.Right, " Bottom = ", RectAW.Bottom

Else:

MsgBox ("Не удалось получить размеры активного окна")

End If

'Получить заголовок окна

'Предварительная набивка результирующей строки нулевыми символами

TextAW = VBA.String$(255, vbNullChar)

LenTextAW = VBA.Len(TextAW)

Res = GetWindowText(HandleAW, TextAW, LenTextAW)

Debug.Print Res

If Res > 0 Then 'OK

TextAW = VBA.Left(TextAW, VBA.InStr(1, TextAW, vbNullChar) - 1)

Debug.Print TextAW

Else:

MsgBox ("Не удалось получить заголовок активного окна")

End If

'Поиск окна документа по его заголовку

'Возвращается описатель окна

TextW = "DocOne6 - Microsoft Word"

HandleW = FindWindow(vbNullString, TextW)

If HandleW > 0 Then 'OK

Debug.Print HandleW

Else:

MsgBox ("Не удалось найти окно с указанным заголовком" _

& vbCrLf & TextW)

End If

'Минимизация и нормализация окна документа

Res = ShowWindow(HandleW, SW_SHOWMINIMIZED)

If Res > 0 Then Debug.Print "Окно минимизировано"

Res = ShowWindow(HandleW, SW_SHOWNORMAL)

If Res > 0 Then Debug.Print "Окно в нормальном состоянии"

'Изменение заголовка окна

TextW = "Document1 - Microsoft Word"

HandleW = FindWindow(vbNullString, TextW)

If HandleW > 0 Then 'OK

Debug.Print HandleW

Else:

MsgBox ("Не удалось найти окно с указанным заголовком" _

& vbCrLf & TextW)

End If

Res = SetWindowText(HandleW, "DocTwo6 - Microsoft Word")

End Sub




Начало  Назад  Вперед



Книжный магазин