Надстройка PowerPoint Добавить текстовое поле к выбранному слайду

#vba #textbox #powerpoint #add-in

#vba #текстовое поле #powerpoint #надстройка

Вопрос:

Я пытаюсь создать кнопку, которая при нажатии добавит два текстовых поля к выбранному слайду в указанном месте с указанным форматированием (шрифт, размер, цвет, выравнивание). Я пытался перепроектировать все, что применимо, но в итоге все ломается. Этот набор кода позволит мне сделать прямоугольник (а не текстовое поле, которое является предпочтительным) размером с него и поместить его (только 1, а не 2) с образцом текста .. Хоть убей, я не могу понять, как заставить его создать текстовое поле на выбранном слайде или активном окне.. что я делаю не так? Вот код, который я нашел..

 Sub AddTextBox()

Set myDocument = ActivePresentation.Slides(1)

With myDocument.Shapes _
        .AddTextBox(msoShapeRectangle, 180, 175, 350, 140).TextFrame
    .TextRange.Text = "Ctrl A(Select all), Ctrl V(Paste)"
    .MarginTop = 10
    
End With

End Sub
  

Ответ №1:

Для ссылки на отображаемый в данный момент слайд можно использовать свойство Slide объекта View …

 Dim mySlide As Slide
Set mySlide = ActiveWindow.View.Slide
  

Для создания текстового поля, вот правильный синтаксис в соответствии с документацией здесь

Синтаксис

выражение лица. AddTextBox( Ориентация, Слева, Сверху, Ширина, Высота)

выражение Переменная, представляющая объект Shapes.

Итак, в вашем случае это было бы что-то вроде этого…

 Dim myTextbox As Shape
Set myTextbox = mySlide.Shapes.AddTextbox(msoTextOrientationHorizontal, 180, 175, 350, 140)
  

Измените ориентацию текста по желанию.