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


Пример 6.6


Public Sub WorkWithApiErr()

Dim Res As Long

Dim capt As String 'Заголовок

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

'Поиск окна по заголовку

capt = "DocOne6 - Microsoft Word"

ArCapt = capt & vbNullChar

Debug.Print ArCapt

HandleW = FindWindowW(0&, ArCapt(0))

If HandleW > 0 Then 'OK

Debug.Print HandleW

Else: MsgBox ("Не могу корректно вызвать UniCode FindWindowW")

If Err.LastDllError = ERROR_INVALID_NAME Then

Debug.Print "Не корректно задано имя при вызове Unicode

FindWindowW функции!"

End If

End If

'Еще один эксперимент: вначале получим заголовок активного окна,

'затем найдем окно по заголовку, работая в Unicode кодировке.

HandleW = GetActiveWindow()

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

ArCapt = VBA.String$(128, vbNullChar)

Res = GetWindowText(HandleW, ArCapt(0), 128)

If Res > 0 Then 'OK

Debug.Print ArCapt

Else: MsgBox ("не получен заголовок окна")

End If

ArCapt = VBA.Left(ArCapt, Res)

HandleW = FindWindowW(0&, ArCapt(0))

If HandleW > 0 Then 'OK

Debug.Print HandleW

Else: MsgBox ("Не могу корректно вызвать UniCode FindWindowW")

If Err.LastDllError = ERROR_INVALID_NAME Then

Debug.Print "Не корректно задано имя при вызове Unicode

FindWindowW функции!"

End If

End If

End Sub




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



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