我正在通過 excel vba powerpoint 幻燈片進行操作。我創建了形狀(“矩形”、“文本框”),但很難找到合適的索引號來進一步操作它們。我知道我可以通過 Slides(1).Shapes(i) 索引號來觸摸它們,因為我從零創建 ppt 幻燈片。但我想在創建后立即操作它們。在 Paste 方法中,我發現我可以撰寫代碼 Paste.Select 然后 ActiveWindow.Selection 給我形狀。但是我不能用 AddShapes(msoRectangle...)Select 來做到這一點。這就是為什么我想將幻燈片中的所有物件名稱都放到一個陣列串列中,然后在該陣列中一步一步地使用 Rectangle、TextBox 之類的詞進行搜索以查看它們的原因。出于我的好奇,即使有名為“TextBox 1”的形狀,ArrayList.Contains“TextBox”也會給出“False”。我知道如果我會寫“TextBox 1”,它會給出真正的價值。但是我需要通過宏來 find(what:,LookIn) 或 Like "TextBox*" ...
Dim shpNameArr As Object
Set shpNameArr = CreateObject("System.Collections.ArrayList")
For each Item in .Slides(1).Shapes
shpNameArr.Add Item.Name
Next
For Each Item in shpNameArr
MsgBox Item
Next
For Each Item in shpNameArr
MsgBox shpNameArr.Contains("TextBox")
shpNameArrW = Filter(Item,"TextBox")
MsgBox shpNameArrW
Next
uj5u.com熱心網友回復:
Shapes.AddShape() 回傳您剛剛添加的形狀,因此您可以直接使用它,而無需搜索幻燈片上的形狀。
https://docs.microsoft.com/en-us/office/vba/api/powerpoint.shapes.addshape
例如:
Dim shp As Shape
Set shp= Slides(1)Shapes.AddShape(msoRect...)
現在您可以直接使用 shp
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/399728.html
