我在For-loop中创建形状,并且我想让每个形状具有不同的名称。因此,每个迭代中的Shape
在Set Shape = ...
应该由一个动态变量替换Shape。形状的动态标记
如果我通过Set Shape = w.Shapes.AddShape(msoShapeRectangle, 10,10,10,10)
放置形状我怎么能Shape
(形状的名称)是动态的,例如, Set Cells(1 + i, 1) = w.Shapes.AddShape(msoShapeRectangle, 10,10,10,10)
...以便每个形状都有不同的名称。我也试过Shape.Name =
,它在创建形状时似乎没有与设置名称相同的效果。
我为我的环内创建的每个形状分配名称: Shape.Name = Cells(GanttStartRow + i, 1) & Cells(GanttStartRow + i, 2)
我经由 Set conn = w.Shapes.AddConnector(msoConnectorElbow, 1, 1, 1, 1) conn.ConnectorFormat.BeginConnect D, 1 conn.ConnectorFormat.EndConnect WP, 1
设置连接器...但收到一个“类型不匹配”错误。
在你的问题'Cells()'应该是一个形状数组?如果是这样,那么这是一个在VBA编程中覆盖'Cells()'的标准含义的名称的奇怪选择。如果没有,我不知道你在做什么,因为你不能设置一个单元格等于一个形状。你是否试图将新添加的形状的名称放入单元格中? –