Как работать с полями сообщений и ввода в PowerPoint VBA?

Просматривая комментарии, я увидел пару вопросов читателей о том, как работать с окнами ввода и сообщений Visual Basic в PowerPoint.

В этом руководстве мы предоставим очень базовые базовые знания, которые помогут вам использовать эти возможности при автоматизации создания презентации.

Настройка вкладки «Разработчик»

Во-первых, нам нужно включить среду разработчика для PowerPoint. Следуйте этому руководству, чтобы настроить вкладку разработки.

В PowerPoint перейдите в меню «Разработчик» и нажмите Visual Basic.

В дереве проекта щелкните правой кнопкой мыши презентацию, нажмите «Вставить» и выберите «Модуль». Будет создан новый модуль VBA, в котором вы будете писать свой код.

Окна сообщений в PowerPoint

Окна сообщений говорят сами за себя, их цель — отобразить некоторую полезную информацию для конечного пользователя. Напишите в своем модуле следующий код:

Sub simplemessagebox()
MsgBox ("This is a simple message box")
End Sub

Нажмите F5 или Run и посмотрите результат:

Как работать с полями сообщений и ввода в PowerPoint VBA?

Пример сообщения и поля ввода

В отличие от окон сообщений, поля ввода используются для получения обратной связи от пользователя. Давайте посмотрим на пример ниже. Скрипт автоматически вставляет в презентацию новые слайды.

Вот что мы будем реализовывать:

  1. Сначала мы запросим у пользователя количество добавляемых слайдов (используя поле ввода).
  2. Затем мы уведомим пользователя о количестве создаваемых слайдов (используя окно сообщения).
  3. Наконец, продолжим и создадим слайды программно.
  4. Наконец, мы сохраним измененную презентацию


Sub CreateSlidesMessage()

Dim NumSlides As Integer
Dim MsgResult As VbMsgBoxResult

' How many slides to create
NumSlides = InputBox("Enter number of slides to create", "Create Slides")

'User confirmation
MsgResult = MsgBox("Powerpoint will create " & NumSlides & " slides. Proceed?", vbApplicationModal, "Create Slides")

'create the slides
If MsgResult = vbOK Then
    For i = 1 To NumSlides
        Set NewSlide = ActivePresentation.Slides.Add(Index:=i + 1, Layout:=ppLayoutBlank)
    Next i
    'Save the Presentation
    ActivePresentation.SaveAs("Your Presentation.pptx")
    MsgBox ("Presentation Saved.")
End If

End Sub

Надеюсь, это помогло, не стесняйтесь оставлять комментарии по мере необходимости.

Проверьте значения, возвращаемые функцией MsgBox.

Когда для взаимодействия с пользователем появляется диалоговое окно MsgBox, вы хотите знать, какую опцию выбрал пользователь. Чтобы проверить это, вы можете использовать следующий код:

Код проверяет, какую кнопку пользователь выбирает в MsgBox.

По выбору каждого пользователя вы можете продолжать запускать разные коды. Эти коды VBA вы можете изучить на курсах VBA с ведущими экспертами Learn Excel Online.

Поддерживает ли MsgBox вьетнамский язык с акцентом? Ответ нет, почему? Потому что Microsoft так запрограммировала. Но есть ли другой путь? Ответ — да, вы можете прочитать статью Использование вьетнамского языка с акцентом в MsgBox VBA.

Весь код в статье вы можете увидеть на Gist:

  Sub HeoBasicMessageBox()
  MsgBox "Синь чао как бан да ден voi Hoc Excel Online"
  Конец субтитра
   
  Sub HeoBasicMessageBoxWithTitle()
  MsgBox "Синь чао как бан да ден voi Hoc Excel Online", , "HEO"
  Конец субтитра
   
  СубHeoBasicMessageBox2()
  MsgBox «Hoc Excel Online», _
  vbOKОтмена + _
  vbCritical + _
  vbDefaultButton1 + _
  vbApplicationModal
  Конец субтитра
   
  СубHeoBasicMessageBox3()
  MsgBox «Hoc Excel Online», _
  vbOKОтмена + _
  vbCritical + _
  vbDefaultButton1 + _
  vbSystemModal
  Конец субтитра
   
  СубHeoMsgBoxResult1()
  Тусклый ответ как VbMsgBoxResult
   
  ответ = MsgBox("Hoc Excel Online", vbДаНет + vbCritical)
  Ответ MsgBox
  Конец субтитра
   
  СубHeoMsgBoxResult2()
  Тусклый ответ как VbMsgBoxResult
   
  ответ = MsgBox("Hoc Excel Online", vb YesNo + vbQuestion)
  Ответ MsgBox
  Конец субтитра
   
  СубHeoMsgBoxResult3()
  Тусклый ответ как VbMsgBoxResult
   
  ответ = MsgBox("Hoc Excel Online", vbДаНет + vbExclamation)
  Ответ MsgBox
   
  Конец субтитра
   
  СубHeoMsgBoxResult4()
  Тусклый ответ как VbMsgBoxResult
   
  ответ = MsgBox("Hoc Excel Online", vbДаНет + vbInformation)
  Ответ MsgBox
  Конец субтитра
   
  СубHeoMsgBoxResult5()
  Тусклый ответ как VbMsgBoxResult
  ответ = MsgBox("Ошибка", vbAbortRetryIgnore + vbDefaultButton1 + vbMsgBoxHelpButton)
  Ответ MsgBox
  Конец субтитра
   
  СубHeoMsgBoxResult6()
  Тусклый ответ как VbMsgBoxResult
  ответ = MsgBox("Ошибка", vbAbortRetryIgnore + vbDefaultButton2 + vbMsgBoxHelpButton)
  Ответ MsgBox
  Конец субтитра
   
  СубHeoMsgBoxResult7()
  Тусклый ответ как VbMsgBoxResult
  ответ = MsgBox("Ошибка", vbAbortRetryIgnore + vbDefaultButton3 + vbMsgBoxHelpButton)
  Ответ MsgBox
  Конец субтитра
   
  СубHeoMsgBoxResult8()
  Тусклый ответ как VbMsgBoxResult
  ответ = MsgBox("Ошибка", vbAbortRetryIgnore + vbDefaultButton4 + vbMsgBoxHelpButton)
  Ответ MsgBox
  Конец субтитра
   
  СубHeoMsgBoxResult9()
  Тусклый ответ как VbMsgBoxResult
  ответ = MsgBox("Хотите попробовать еще раз?", vbRetryCancel + vbQuestion, "Ошибка")
  Ответ MsgBox
  Конец субтитра
   
  СубHeoMsgBoxResult10()
  MsgBox «Произошла критическая ошибка», vbCritical, «Системная ошибка».
  Конец субтитра

Оставить комментарий

Бесплатный шаблон PowerPoint для современной презентации объектов недвижимости: практическое руководство для агента

Бесплатный шаблон PowerPoint для современной презентации объектов недвижимости: практическое руководство для агента

Создайте современную презентацию объекта недвижимости в PowerPoint с помощью бесплатного плана слайдов, проверенных советов по шаблонам, предостережений по CMA, проверок прав на фото и гарантий соблюдения закона о справедливом жилье.

HubSpot Free CRM против Zoho CRM: лучший выбор для индивидуальных агентов по недвижимости в 2026 году

HubSpot Free CRM против Zoho CRM: лучший выбор для индивидуальных агентов по недвижимости в 2026 году

Сравнение HubSpot Free CRM и Zoho CRM для индивидуальных агентов по недвижимости: контакты, воронки продаж, автоматизация, настройка, планирование встреч, лимиты и условия перехода на платные тарифы.

Как исправить отсутствие звука при записи экрана в PowerPoint на Windows

Как исправить отсутствие звука при записи экрана в PowerPoint на Windows

Исправьте беззвучные записи экрана в PowerPoint, проверив элемент управления «Звук», разрешения микрофона в Windows, активное устройство ввода, требования к системному звуку и обновления Office.

Печатный шаблон PDF для планирования дня по блокам для удаленных сотрудников: руководство для начинающих

Печатный шаблон PDF для планирования дня по блокам для удаленных сотрудников: руководство для начинающих

Используйте печатный шаблон PDF для планирования дня по блокам, чтобы спланировать часы сосредоточенной работы, встречи, перерывы, административные задачи и реалистичные буферы, не перегружая свой день.

Бесплатный шаблон презентации статуса проекта для Agile-команд

Бесплатный шаблон презентации статуса проекта для Agile-команд

Создайте лаконичную презентацию статуса Agile-проекта с целями спринта, результатами, рисками, показателями качества, решениями и следующими шагами — без превращения слайдов в выгрузку из бэклога.

Шаблон трекера расходов для независимых подрядчиков США: практическое справочное руководство на 2026 год

Шаблон трекера расходов для независимых подрядчиков США: практическое справочное руководство на 2026 год

Отслеживайте деловые расходы фрилансеров, чеки, пробег и категории для формы Schedule C с помощью практического справочника трекера расходов на 2026 год для подрядчиков США.

Бесплатный шаблон PowerPoint для годового отчета НКО: практическое руководство по слайдам

Бесплатный шаблон PowerPoint для годового отчета НКО: практическое руководство по слайдам

Найдите бесплатную отправную точку для годового отчета НКО в PowerPoint, а также практическую структуру слайдов, финансовый чек-лист, метрики влияния, советы по доступности и рекомендации по настройке.

Бесплатный шаблон календаря счетов для Excel: простой способ отслеживать сроки оплаты

Бесплатный шаблон календаря счетов для Excel: простой способ отслеживать сроки оплаты

Организуйте регулярные платежи в Excel с помощью месячного календаря, списка счетов, отслеживания статуса, сумм по условию (SUMIFS) и выделения сроков оплаты. Включает практический иллюстративный пример.

Бесплатный шаблон Excel для учета доходов и расходов по арендной недвижимости: простая настройка для начинающих

Бесплатный шаблон Excel для учета доходов и расходов по арендной недвижимости: простая настройка для начинающих

Создайте бесплатный трекер доходов и расходов по арендной недвижимости в Excel с учетом по объектам, категориями для Schedule E, отслеживанием денежного потока, чеками и обновленными нормами пробега на 2026 год.

Бесплатный шаблон счета для малого бизнеса в Excel с автоматическим расчетом налога с продаж

Бесплатный шаблон счета для малого бизнеса в Excel с автоматическим расчетом налога с продаж

Создайте переиспользуемый счет в Excel, который автоматически рассчитывает промежуточный итог, налогооблагаемые продажи, налог с продаж и общую сумму к оплате, с практическим чек-листом для малых предприятий США.