Я хочу выполнить различные варианты форматирования изображений в слайдах.Форматирование изображений без выбора
Макрос работает на изображениях, которые я выбрал на слайде, но я бы хотел запустить макрос, не выбирая изображения.
Вот как я в настоящее время работы с изображениями (в данном случае выравнивание изображения в горизонтальном центре слайда) и кусок кода, который я ищу помощи замены:
With ActiveWindow.Selection.ShapeRange
.Align (msoAlignCenters), msoTrue
End With
Вот весь код тела до сих пор:
Sub TestCenterImage()
Dim osld As Slide
Dim oshp As Shape
For Each osld In ActivePresentation.Slides
If osld.SlideIndex > 1 Then Exit Sub 'I don't know if I need this line
For Each oshp In osld.Shapes
If CheckIsPic(oshp) = True Then 'Making sure that we're only working with images
With ActiveWindow.Selection.ShapeRange 'The portion of code I need help with
.Align (msoAlignCenters), msoTrue
End With
End If
Next oshp
Next osld
End Sub
Function CheckIsPic(oshp As Shape) As Boolean
If oshp.Type = msoPicture Then CheckIsPic = True
If oshp.Type = msoPlaceholder Then
If oshp.PlaceholderFormat.ContainedType = msoPicture Then CheckIsPic = True
End If
End Function
Привет, Стив, этот код работал, но у меня есть потенциальное осложнение. Хотя этот код эффективно и точно позволяет мне центрировать изображение на слайде, я склонялся к команде 'With' (операция?), Потому что мне захочется добавить код в будущем для других изменений форматирования и на основе моего googling it _seems_ (поскольку я новичок), команда 'With' - это путь. Я смотрю на ваш опыт. Большое спасибо!!! – ChrisG
Вы можете легко изменить процедуру CenterOnSlide для использования с oShp и добавить больше форматирования в форму, чем просто ее центрирование; или полностью изменить имя, чтобы отразить то, что вы хотите сделать с формой. FormatShape или что угодно. Использование With/End With, а не повторное использование oShp.ThisProperty, oShp.ThatProperty будет немного быстрее. В этом случае быстрее, но не так, вы заметите какую-либо разницу, но это не может повредить, и это экономит печатание. –