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

Как работать с полями сообщений и ввода в 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, «Системная ошибка».
  Конец субтитра

Имбирь 2.7.53.0

Имбирь 2.7.53.0

Ginger — бесплатная программа для проверки орфографии и грамматики.

Блоки

Блоки

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

Прези 6.26

Прези 6.26

Prezi — бесплатное приложение, позволяющее создавать цифровые презентации как онлайн, так и офлайн.

Матвей

Матвей

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

Adobe Презентер

Adobe Презентер

Adobe Presenter — это программное обеспечение для электронного обучения, выпущенное Adobe Systems, доступное на платформе Microsoft Windows в виде подключаемого модуля Microsoft PowerPoint.

Тукан 2.3.0

Тукан 2.3.0

Toucan — образовательная технологическая платформа. Это позволяет вам изучать новый язык, просматривая обычные повседневные веб-сайты.

ENetВьет 24.2

ENetВьет 24.2

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

Дуолинго

Дуолинго

Duolingo — Изучайте языки бесплатно, или просто Duolingo, — это образовательная программа, позволяющая изучать и практиковать множество разных языков.

RapidTyping

RapidTyping

RapidTyping — это удобный и простой в использовании инструмент для тренировки клавиатуры, который поможет вам улучшить скорость набора текста и уменьшить количество ошибок в правописании. Благодаря урокам, организованным для разных уровней, RapidTyping научит вас печатать или улучшить имеющиеся навыки.

МатТип 7.4.10.53

МатТип 7.4.10.53

MathType — это интерактивное программное обеспечение для уравнений от разработчика Design Science (Dessci), которое позволяет создавать и комментировать математические обозначения для обработки текста, презентаций, электронного обучения и т. д. Этот редактор также используется для создания документов TeX, LaTeX и MathML.