Я пишу простой макрос, чтобы изменить шрифт и добавить логотип для каждого слайда в точке питания.PowerPoint VBA добавляет изображение на каждый слайд
Проблема в том, что шрифт обновляется на каждом слайде, но изображение вставляется только на одном слайде. - Так что я в конечном итоге с 30 изображений друг на друга на одном слайде (не 1 изображение на каждом слайде, как я требую)
я следующее:
Sub InsertLogoOnEveryPage()
Dim sld As Slide
Dim shp As Shape
Dim sFontName As String
Dim oTop As Integer
' font:
sFontName = "Times"
For Each sld In ActivePresentation.Slides
Debug.Print sld.Name
'Insert logo.
ActiveWindow.Selection.SlideRange.Shapes.AddPicture(_
FileName:="PATH\Logo_RGB.png", _
LinkToFile:=msoFalse, _
SaveWithDocument:=msoTrue, Left:=60, Top:=oTop, _
Width:=330, Height:=330).Select
For Each shp In sld.Shapes
With shp
If .HasTextFrame Then
If .TextFrame.HasText Then
.TextFrame.TextRange.Font.Name = sFontName
End If
End If
End With
Next shp
oTop = oTop + 10
Next sld
End Sub
Любая помощь в решении этого будет быть потрясающим, спасибо!
Вы хотите, чтобы dim oTop был как Single, а не Integer, или вы либо столкнетесь с ошибками, либо потеряете точность, когда PPT/VBA преобразует значение .Top как 1в 10 –
@SteveRindsberg: Я не видел этого, Thx! Я исправил это! ;) – R3uK
@Ali_Bean: Отметьте комментарий от Стива! Это поможет вам правильно разместить изображение! – R3uK