我在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()'的標準含義的名稱的奇怪選擇。如果沒有,我不知道你在做什麼,因爲你不能設置一個單元格等於一個形狀。你是否試圖將新添加的形狀的名稱放入單元格中? –