2011-12-30 105 views
1

我想刪除使用下面的代碼 形狀的所有連接點,但仍然有一些連接點不會被刪除。 我不明白爲什麼這種情況發生不能刪除所有連接點的形狀在visio中

For currentRow = 0 To shape.Section(Visio.VisSectionIndices.visSectionConnectionPts).Count - 1 
     shape.DeleteRow Visio.VisSectionIndices.visSectionConnectionPts, visRowFirst + currentRow 
Next currentRow 

任何人都可以把一些光在這部分?

回答

1

第一次通過循環currentRow爲0.因此,您刪除索引爲0的行。第二行現在成爲第一行,其索引從1更改爲0.然而,您的循環將currentRow遞增爲1,以便跳過新的第一行。這將重複每次迭代,並跳過每隔一行。

您可以直接刪除第一行,直到沒有剩餘的行。

While Shape.RowExists(Visio.VisSectionIndices.visSectionConnectionPts, visRowFirst, 0) 
    Shape.DeleteRow Visio.VisSectionIndices.visSectionConnectionPts, visRowFirst 
Wend 

根據您的應用,最簡單的解決方案可能是刪除的連接點段:

Shape.DeleteSection Visio.VisSectionIndices.visSectionConnectionPts 
+0

刪除部分是不是好主意,因爲我分析它增加了新的行集時的新章節刪除整個部分 – 0cool 2012-01-03 12:21:10