Как получить размер слайда power point с помощью vba?
Я работаю над одним проектом. В котором я хочу узнать " мое текстовое поле выходит из слайда или нет?". Если да, то покажите ошибку msg.
поэтому моя логика заключается в том, что если я нашел размер слайда, то я буду использовать его в IF...Другое условие, как:
If textbox_position < slide_dimension then
#Error
end if
Если у вас есть какие-либо другие идеи, пожалуйста, скажите мне.
спасибо
2 ответов
презентации .PageSetup.SlideWidth and .Свойства SlideHeight дадут вам размеры слайда в точках.
ваша функция должна была бы сделать что-то вроде (с верхней части головы и из воздуха ..):
Function IsOffSlide (oSh as Shape) as Boolean
Dim sngHeight as single
Dim sngWidth as Single
Dim bTemp as Boolean
bTemp = False ' by default
With ActivePresentation.PageSetup
sngHeight = .SlideHeight
sngWidth = .SlideWidth
End With
' this could be done more elegantly and in fewer lines
' of code, but in the interest of making it clearer
' I'm doing it as a series of tests.
' If any of them are true, the function will return true
With oSh
If .Left < 0 Then
bTemp = True
End If
If .Top < 0 Then
bTEmp = True
End If
If .Left + .Width > sngWidth Then
bTemp = True
End If
If .Top + .Height > sngHeight Then
bTemp = True
End If
End With
IsOffSlide = bTemp
End Function
почему вы не используете заполнители PowerPoint, чтобы сделать это? например:
Sub SetText(IndexOfSlide As Integer, txt As String)
'http://officevb.com
ActivePresentation.Slides(IndexOfSlide).Shapes.Placeholders(1).TextFrame.TextRange.Text = txt
End Sub
вы можете вызвать этот sub и передать параметры
IndexOfSlide с числом слайдов и txt с текстом для создания.