В настоящее время я пытаюсь выполнить замену всех в имени объекта в PowerPoint. Обычно каждый объект контента называется Content Placeholder #, я уже назвал каждый объект чем-то вроде «PptBobChart1, PptBobScatter1», и теперь мне нужно выполнить замену всех, чтобы изменить каждое из имен объектов на «PptTomChart1, PptTomScatter1». Я знаю, что я могу войти в область выбора по одному, чтобы вручную изменить ее, но есть ли способ сделать все это в VBA?Переименование объекта в PPT с помощью VBA
0
A
ответ
0
Вы могли бы попробовать что-то вроде:
Sub renameObj()
Dim o As Shape
Dim s As Slide
For Each s In ActivePresentation.Slides
For Each o In s.Shapes
o.Name = Replace(o.Name, "Bob", "Tom")
Next o
Next s
End Sub
Надеется, что это помогает!
0
Если вы хотите установить разные имена для типов объектов different01DEC2015, вы можете использовать это:
Option Explicit
' ============================================================
' PowerPoint Macro : RenameOnSlideObjects
' ============================================================
' Purpose : Renames all on-slide objects within a presentation
' Inputs : Noe
' Outputs : None
' Dependencies : None
' Author : Jamie Garroch of http://youpresent.co.uk/
' Date : 01 December 2015
' ============================================================
Public Sub RenameOnSlideObjects()
Dim oSld As Slide
Dim oShp As Shape
For Each oSld In ActivePresentation.Slides
For Each oShp In oSld.Shapes
With oShp
Select Case True
Case .Type = msoPlaceholder ' you could then check the placeholder type too
.Name = "myPlaceholder"
Case .Type = msoTextBox
.Name = "myTextBox"
Case .Type = msoAutoShape
.Name = "myShape"
Case .Type = msoChart
.Name = "myChart"
Case .Type = msoTable
.Name = "myTable"
Case .Type = msoPicture
.Name = "myPicture"
Case .Type = msoSmartArt
.Name = "mySmartArt"
Case .Type = msoGroup ' you could then cycle though each shape in the group
.Name = "myGroup"
Case Else
.Name = "Unspecified Object"
End Select
End With
Next
Next
End Sub