Вместо сообщения MsgBox$ вывести сообщение Ballon - VBA

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, подскажите по сабжу и чтобы оно, сообщение "висело" до нажатия любой\определённой кнопки

Решение задачи: «Вместо сообщения MsgBox$ вывести сообщение Ballon»

textual
Листинг программы
'отключаем дёргание экрана при выполнении кода
    Application.ScreenUpdating = False
 
 
    'четыре стандартные персонажа анимации
    'джин Genie
    'маг Merlin
    'попугай Peedy
    'робот Robby
 
    'переменные для ссылок
    Dim MSAgent As Object
    Dim AgentChar As Object
    'включаем обработчик ошибок
    On Error Resume Next
    'создаем объект
    Set MSAgent = CreateObject("Agent.Control.2")
    'здесь можно проверить, установлен ли Agent на компьютере
    If Err.Number Then
        MsgBox "Agent не найден на этом компьютере!"
        Exit Sub
    Else
        'подключаемся к серверу Agent
        MSAgent.Connected = True
        'загружаем стандартного персонажа
        MSAgent.Characters.Load "Default"
        'ссылка на персонаж
        Set AgentChar = MSAgent.Characters("Default")
        '2 вариант
        'загружаем персонаж
        MSAgent.Characters.Load "InvisibleMan", "D:\Рабочая папка\Microsoft Agent\InvisibleMan.acs"    'должен быть по адресу: D:\Рабочая папка\Microsoft Agent файл с именем: InvisibleMan.acs
        'ссылка на персонаж
        Set AgentChar = MSAgent.Characters("InvisibleMan")
    End If
    'изменить размеры анимации, воспользоваться свойствами Height ширина и Width и высота
    AgentChar.Height = 1    'если поставить 0 не сработает, можно эту строку писать до строки AgentChar.Show (0) и после неё
    AgentChar.Width = 1    'если поставить 0 не сработает, можно эту строку писать до строки AgentChar.Show (0) и после неё
    'звук появления персонажа будет иметь место !!!! как бы его убрать ????
    'а вот как вывести Ballon персонажа в указанном месте ????
    'метод ShowPopupMenu выводит всплывающее меню персонажа в указанном месте, например строка меню "Скрыть"
    'данное меню автоматически всплывает при правом щелчке мыши на персонаже
    AgentChar.ShowPopupMenu 100, 300
    AgentChar.Left = 300    'место пояления персонажа от левого края экрана
    AgentChar.Top = 800    'место пояления персонажа от верха экрана
    'позиция на экране (в данном случае по центру)
    AgentChar.Left = (((screen.Width / screen.TwipsPerPixelX) - AgentChar.Width) / 2)
    AgentChar.Top = (((screen.Height / screen.TwipsPerPixelY) - AgentChar.Height) / 2)
2   вариант ??????
    'позиция на экране (в данном случае по центру)
    AgentChar.Left = ((System.HorizontalResolution - AgentChar.Width) / 2)
    AgentChar.Top = ((System.VerticalResolution - AgentChar.Height) / 2)
 
    'для отображения персонажа существует метод Show
    'параметр метода Show логического типа и отвечает за вывод анимации при показе 0 - с анимацией, 1 - без анимации
    AgentChar.Show 1    '0 - с анимацией, пишется так: AgentChar.Show (0), ноль в скобках, 1 - без анимации, пишется так: AgentChar.Show 1, единица без скобок
    AgentChar.Think "Привет, я - " + AgentChar.Name    'или AgentChar.Description метод Think, выводит только слова персонажа в "облаке"
    'Description это описание персонажа
    '?????Application.Wait Now + TimeValue("0:00:05") 'метод Wait - ожидание, выжидание он и держит и убирает Balloon
 
    'вариант как зависнуть Balloon
    AgentChar.Show 1
    With AgentChar
        .Balloon.Style = 2    'почему именно 2 ВБА его знает ?????
        .BackColor = Red    'цвет фона
        .BorderColor = Yellow    'цвет рамки
        .Enabled = True    'признак включения окна сообщений
        .FontcnarSet 0    'номер набора таблицы символов, например:0 - ANSI
        .FontName = Arial    'имя шрифта
        .FontBold = True    'полужирное выделение шрифта
        .FontItalic = True    'курсивное выделение шрифта
        .Font Size = 22    'размер шрифта
        .FontUnderline = True    'подчеркивание текста
        .ForeColor = Blue    'цвет текста
        .NumberOf Lines = 3    'количество строк для вывода текста
        '?????.Style 'стиль окна сообщений
        .Visible = True    'видимость окна сообщений
    End With
    AgentChar.Think "Привет"
    Sleep 1000    'висит 1 секунду
    'имя шрифта отображаемого сообщения
    AgentChar.Balloon.FontName = "Times New Roman"
    'размер шрифта отображаемого сообщения
    AgentChar.Balloon.FontSize = 20
    AgentChar.Think "Думаю, смена стиля заметна"
    AgentChar.Balloon.Visible = False    'исчезает Balloon или AgentChar.Hide
 
    'для скрытия персонажа существует метод Hide
    'AgentChar.Hide
    'изменить размеры аннимации, воспользоваться свойствами Height ширина и Width и высота
    'уменьшить персонаж в полтора раза можно так:
    AgentChar.Height = AgentChar.Height / 1.5
    AgentChar.Width = AgentChar.Width / 1.5
    AgentChar.MoveTo 200, 300    'переместить анимацию на ...
    'MoveTo может перемещать персонаж с анимацией
    'персонаж как бы перелетает на новое место
    'у метода MoveTo есть необязательный параметр, показывающий скорость смены кадров анимации
    'скорость его передвижения по экрану, по умолчанию он равен 1000
    'усли нужно быстро переместить персонаж, то вызовите этот метод с параметром скорости равным 0
    'это заставит пропустить анимацию и персонаж переместиться мгновенно
    AgentChar.MoveTo 250, 350, 500
    AgentChar.MoveTo 300, 400, 0
    'для использования персонажа, который будет говорить, нужен ещё и Text-to-speech engine
    'для соответствующего языка, для русского языка это модуль
    'http://activex.microsoft.com/activex/controls/agent2/lhttsrur.exe
    'только после его установки персонаж заговорит по-русски
    'файл lhttsrur
    'русский язык в Microsoft обычно числится под номером &H0419
    AgentChar.LanguageID = &H419
    'вот теперь всё готово к "разговорам"!
    'устанавливаем женский голос
    AgentChar.TTSModeID = "{06377F80-D48E-11d1-B17B-0020AFED142E}"
    AgentChar.Speak "Я могу говорить женским голосом!"
    'устанавливаем мужской голос
    AgentChar.TTSModeID = "{06377F81-D48E-11d1-B17B-0020AFED142E}"
    AgentChar.Speak "Я могу говорить мужским голосом!"
    'управление параметрами чтения текстов в VBA функциями SpeechAPI [url]http://subritto.h1.ru/msagent/sapi_tags.php[/url]
    AgentChar.Play "Greet"    'воспроизведем анимацию с именем ...
    'пробежимся по всей анимации
    Количество_аннимации = 0
    For Each Animation In AgentChar.AnimationNames
        Количество_аннимации = Количество_аннимации + 1
        Имя_аннимации = Animation
        AgentChar.Play Animation
    Next
 
    'отменяем отключенное ранее обновление - дёргание экрана при выполнении кода
    Application.ScreenUpdating = True

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

Оцени полезность:

13   голосов , оценка 4.231 из 5