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


Пример 6.5


Public Sub WorkWithUniFunc() Dim res As Long Dim Capt As String 'Заголовок 'Динамический массив байтов для передачи строки заголовка Dim HandleW As Long 'Описатель окна

'Поиск окна по заголовку Capt = "Document1 - Microsoft Word" HandleW = FindWindowA(vbNullString, Capt) If HandleW > 0 Then 'OK Debug.Print HandleW Else: MsgBox ("FindWindowA не может найти окно с заголовком" & vbCrLf & Capt) End If 'Попытки использовать для поиска Unicode функцию 'FindWindowW не увенчались успехом ' ReDim ArCapt(0 To 2 * VBA.Len(Capt)) As Byte ' ArCapt = Capt & vbNullChar ' Debug.Print ArCapt ' HandleW = FindWindowW(0&, ArCapt(0)) ' If HandleW > 0 Then 'OK ' Debug.Print HandleW ' Else: MsgBox ("Не могу вызвать UniCode FindWindowW") ' End If 'Получить заголовок окна ArCapt = VBA.String$(128, vbNullChar) res = GetWindowText(HandleW, ArCapt(0), 128) If res > 0 Then 'OK Debug.Print ArCapt Else: MsgBox ("не получен заголовок окна") End If

'Изменить заголовок окна Capt = "NewDoc" ArCapt = Capt & vbNullChar res = SetWindowText(HandleW, ArCapt(0))

'Повторно получить заголовок окна ArCapt = VBA.String$(128, vbNullChar) res = GetWindowText(HandleW, ArCapt(0), 128) If res > 0 Then 'OK Debug.Print ArCapt Else: MsgBox ("не получен заголовок окна") End If End Sub

Пример 6.5.

Закрыть окно






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



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