#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)
Измените ориентацию текста по желанию.