我正在尝试使用以下代码删除所有连接点的形状 但仍然有一些连接点没有被删除。 我不明白为什么会发生这种情况
For currentRow = 0 To shape.Section(Visio.VisSectionIndices.visSectionConnectionPts).Count - 1
shape.DeleteRow Visio.VisSectionIndices.visSectionConnectionPts, visRowFirst + currentRow
Next currentRow
有人可以对这部分有所了解吗?
答案 0 :(得分: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