Имбирь 2.7.53.0
Ginger — бесплатная программа для проверки орфографии и грамматики.
Пару дней назад я хотел автоматизировать довольно рутинную задачу по созданию слайдов в PowerPoint. При автоматизации PowerPoint вы обычно работаете с коллекцией Slides and Shapes. Слайды говорят сами за себя, а фигуры — это почти все остальное, включая текстовые поля, кнопки действий, мультимедийные объекты, метки, изображения, выноски, блок-схемы и т. д. и т. п. Хотя я буду демонстрировать приемы в PowerPoint, часть синтаксиса на самом деле вполне применима к Microsoft Word и Excel.
Напомним, что прежде чем приступить к разработке макросов VBA в PowerPoint, вам необходимо включить вкладку «Разработка» .
Прежде всего, давайте начнем с автоматического создания презентации с некоторыми слайдами, как показано в этом руководстве: создание презентации в VBA .
Теперь мы можем начать работать с фигурами. Прежде всего, давайте продолжим и откроем редактор VBA, нажав Alt + F11. Если вы следовали предыдущему руководству, у вас должен быть модуль 1 в списке модулей (как показано ниже).
Работа с фигурами в VBA
Добавление текстового поля с помощью VBA
Мы начнем с добавления вертикального текстового поля к нашему первому слайду в презентации. Добавьте следующий код в Module1, затем нажмите кнопку «Сохранить» (Ctrl+s) и запустите свой макрос (нажмите F5 или нажмите «Выполнить форму подписчика/пользователя»).
Sub CreateTextBox()
Set MySlide = ActivePresentation.Slides(2)
With MySlide.Shapes
.AddTextbox(Orientation:=msoTextOrientationVertical, _
Left:=90, Top:=200, Width:=80, _
Height:=200).TextFrame.TextRange.Text _
= ("This is my vertical text box")
End With
End Sub
Обратите внимание, что вы можете довольно легко изменить размеры текстового поля с помощью VBA. В этом случае мы изменим размер первой фигуры на втором слайде, не стесняйтесь изменять его по мере необходимости.
Sub ResizeText()
Set MyShape = ActivePresentation.Slides(2).Shapes(1)
'Add your required dimensions as needed below
With MyShape
.Width = 200
.Height = 35
End With
End Sub
Текстовые эффекты с помощью VBA
Давайте теперь предположим, что мы хотим добавить текстовое поле ко всем слайдам в презентации, на этот раз немного более визуально привлекательным. Для этого мы будем использовать VBA для создания пользовательских текстовых эффектов, которые мы сможем встроить в один или несколько слайдов презентации. Сначала мы пройдемся по слайдам презентации, а затем добавим текстовый эффект по мере необходимости.
Sub SetEffects()
Dim i As Integer
For i = 1 To ActivePresentation.Slides.Count
ActivePresentation.Slides(i) _
.Shapes.AddTextEffect msoTextEffect12, "Draft for Review", _
"Segoe UI", 32, msoTrue, msoTrue, 650, 50
Next
End Sub
Вот результат ;-):
Обратите внимание, что вы также можете использовать простой водяной знак для достижения этого конкретного результата.
Выноски PowerPoint с VBA
Нашим следующим примером будет добавление выносок в вашу презентацию. В этом примере мы добавим выноску на второй слайд.
Sub CreateCallout()
ActivePresentation.Slides(2).Shapes.AddCallout(Type:=msoCalloutTwo, Left:=200, Top:=50, _ Width:=300, Height:=100).TextFrame.TextRange.Text = "My Callout"
End Sub
Многие свойства форматирования фигур не задаются свойствами, которые применяются непосредственно к объекту Shape или ShapeRange . Вместо этого связанные атрибуты фигуры группируются под вторичными объектами, такими как объект FillFormat , который содержит все свойства, относящиеся к заливке фигуры, или объект LinkFormat , который содержит все свойства, уникальные для связанных объектов OLE. Чтобы задать свойства фигуры, необходимо сначала вернуть объект, представляющий набор связанных атрибутов фигуры, а затем установить свойства этого возвращенного объекта. Например, вы используете свойство Fill для возврата объекта FillFormat , а затем устанавливаете свойство ForeColor объекта FillFormat , чтобы задать цвет переднего плана заливки для указанной фигуры, как показано в следующем примере.
ВБ
Set myDocument = ActivePresentation.Slides(1)
myDocument.Shapes(1).Fill.ForeColor.RGB = RGB(255, 0, 0)
В пользовательском интерфейсе есть некоторые операции, которые можно выполнять с несколькими выбранными фигурами; например, вы можете выбрать несколько фигур и задать для них все отдельные заливки одновременно. Существуют и другие операции, которые можно выполнять только с выбранной одной фигурой; например, вы можете редактировать текст в фигуре, только если выбрана одна фигура.
В Visual Basic существует два способа применения свойств и методов к набору фигур. Эти два способа позволяют вам выполнять любую операцию, которую вы можете выполнить с одной фигурой в диапазоне фигур, независимо от того, можете ли вы выполнить одну и ту же операцию в пользовательском интерфейсе.
Если операция работает с несколькими выбранными фигурами в пользовательском интерфейсе, вы можете выполнить ту же операцию в Visual Basic, создав коллекцию ShapeRange , содержащую фигуры, с которыми вы хотите работать, и применив соответствующие свойства и методы непосредственно к коллекции ShapeRange .
Если операция не работает с несколькими выбранными фигурами в пользовательском интерфейсе, вы все равно можете выполнить операцию в Visual Basic, пройдя по коллекции Shapes или коллекции ShapeRange , содержащей фигуры, с которыми вы хотите работать, и применив соответствующие свойства. и методы для отдельных объектов Shape в коллекции.
Многие свойства и методы, применимые к объекту Shape и коллекции ShapeRange , не работают, если их применить к определенным типам фигур. Например, свойство TextFrame не работает, если оно применяется к фигуре, которая не может содержать текст. Если вы не уверены, что к каждой фигуре в коллекции ShapeRange можно применить определенное свойство или метод, не применяйте это свойство или метод к коллекции ShapeRange . Если вы хотите применить одно из этих свойств или методов к коллекции фигур, вам необходимо просмотреть коллекцию и протестировать каждую отдельную фигуру, чтобы убедиться, что это подходящий тип фигуры, прежде чем применять к ней свойство или метод.
Если вы можете одновременно выполнить операцию над несколькими выбранными фигурами в пользовательском интерфейсе, вы можете сделать программный эквивалент, создав коллекцию ShapeRange и затем применив к ней соответствующие свойства или методы. В следующем примере создается диапазон фигур, содержащий автофигуры с именами «Большая звезда» и «Маленькая звезда», к ним применяется градиентная заливка, а затем к ним применяется градиентная заливка.myDocument
ВБ
Set myDocument = ActivePresentation.Slides(1)
Set myRange = myDocument.Shapes _
.Range(Array("Big Star", "Little Star"))
myRange.Fill.PresetGradient msoGradientHorizontal, _
1, msoGradientBrass
Ниже приведены общие рекомендации по поведению свойств и методов при их применении к коллекции ShapeRange .
Применение метода к коллекции эквивалентно применению метода к каждому отдельному объекту Shape в этой коллекции.
Установка значения свойства коллекции эквивалентна установке значения свойства каждой отдельной фигуры в этом диапазоне.
Свойство коллекции, возвращающее константу, возвращает значение свойства для отдельной фигуры в коллекции, если все фигуры в коллекции имеют одинаковое значение для этого свойства. Если не все фигуры в коллекции имеют одинаковое значение свойства, возвращается «смешанная» константа.
Свойство коллекции, возвращающее простой тип данных (например, Long , Single или String ), возвращает значение свойства для отдельной фигуры, если все фигуры в коллекции имеют одинаковое значение для этого свойства.
Значение некоторых свойств можно вернуть или установить, только если в коллекции есть ровно одна фигура. Если в коллекции имеется более одной фигуры, возникает ошибка во время выполнения. Обычно это касается возврата или установки свойств, когда эквивалентное действие в пользовательском интерфейсе возможно только с одной фигурой (такие действия, как редактирование текста в фигуре или редактирование точек произвольной формы).
Предыдущие рекомендации также применимы при настройке свойств фигур, сгруппированных под вторичными объектами коллекции ShapeRange , такими как объект FillFormat . Если вторичный объект представляет операции, которые можно выполнять с несколькими выбранными объектами в пользовательском интерфейсе, вы сможете вернуть объект из коллекции ShapeRange и установить его свойства. Например, вы можете использовать свойство Fill , чтобы вернуть объект FillFormat , представляющий заливки всех фигур в коллекции ShapeRange . Установка свойств этого объекта FillFormat установит одинаковые свойства для всех отдельных фигур в коллекции ShapeRange .
Даже если вы не можете выполнить операцию над несколькими фигурами в пользовательском интерфейсе одновременно, выбрав их, а затем используя команду, вы можете выполнить эквивалентное действие программно, циклически просматривая коллекцию Shapes или коллекцию ShapeRange , содержащую нужные вам фигуры. хотите работать, и применяете соответствующие свойства и методы к отдельным объектам Shape в коллекции. В следующем примере циклически перебираются все фигуры и добавляется текст к каждой фигуре, являющейся автофигурой. и добавляет текст к каждой фигуре, являющейся автофигурой.myDocument
ВБ
Set myDocument = ActivePresentation.Slides(1)
For Each sh In myDocument.Shapes
If sh.Type = msoAutoShape Then
sh.TextFrame.TextRange.InsertAfter " (version 1)"
End If
Next
В следующем примере создается коллекция ShapeRange , содержащая все выбранные в данный момент фигуры в активном окне, и задается текст в каждой фигуре в коллекции, которая может содержать текст.
ВБ
For Each sh in ActiveWindow.Selection.ShapeRange
If sh.HasTextFrame Then
sh.TextFrame.TextRange = "Initially selected"
End If
Next
Используйте методы Align и Distribute , чтобы расположить набор фигур относительно друг друга или относительно документа, который их содержит. Используйте метод Group или метод Regroup , чтобы сформировать одну сгруппированную фигуру из набора фигур.
Ginger — бесплатная программа для проверки орфографии и грамматики.
Blocks — это интеллектуальная игра для учащихся 3-го класса начальной школы, позволяющая тренировать навыки обнаружения и зрения. Учителя включили ее в программу поддержки преподавания информационных технологий.
Prezi — бесплатное приложение, позволяющее создавать цифровые презентации как онлайн, так и офлайн.
Mathway — очень полезное приложение, которое поможет вам решить все математические задачи, требующие более сложного инструмента, чем встроенный калькулятор вашего устройства.
Adobe Presenter — это программное обеспечение для электронного обучения, выпущенное Adobe Systems, доступное на платформе Microsoft Windows в виде подключаемого модуля Microsoft PowerPoint.
Toucan — образовательная технологическая платформа. Это позволяет вам изучать новый язык, просматривая обычные повседневные веб-сайты.
eNetViet — это приложение, которое помогает родителям связаться со школой, в которой учатся их дети, чтобы они могли четко понимать текущую ситуацию с обучением своего ребенка.
Duolingo — Изучайте языки бесплатно, или просто Duolingo, — это образовательная программа, позволяющая изучать и практиковать множество разных языков.
RapidTyping — это удобный и простой в использовании инструмент для тренировки клавиатуры, который поможет вам улучшить скорость набора текста и уменьшить количество ошибок в правописании. Благодаря урокам, организованным для разных уровней, RapidTyping научит вас печатать или улучшить имеющиеся навыки.
MathType — это интерактивное программное обеспечение для уравнений от разработчика Design Science (Dessci), которое позволяет создавать и комментировать математические обозначения для обработки текста, презентаций, электронного обучения и т. д. Этот редактор также используется для создания документов TeX, LaTeX и MathML.