在Visio中使用Shape.SetFormulas时ShapeSheet单元格引用错误

时间:2018-09-27 15:11:14

标签: vb.net visio shapesheet

当我尝试使用.SetFormulas引用不同页面上的连接器形状时,我不断得到#Name吗?错误。该错误在Visio 2010和2016中都将发生。下面的代码适用于圆形和分组形状,但不适用于我的连接器。

Dim formArray as String() = BuildFormulaArray(PreviousPageShapeIDs)
Dim theStream as Short() = StreamBuilder(CurrentShapeIDs, CustPropSection, Row, Cell)
Dim objArray as Object() = formArray.ConverToObject 'convenience function to convert each item to an object 

vPage.SetFormulas(theStream, objArray, VisGetSetArgs.visSetBlasGuards)

但是,下面的代码可用于连接器

For i = 0 to formArray.GetUpperBounds(0)
Dim streamInd as Integer = 4*i
vPage.Shapes(theStream(streamInd)).CellsSRC(theStream(streamInd+1),theStream(streamInd+2),theStream(streamInd+3)).FormulaForce = formArray(i)
Next

我的公式是使用Pages [ PageName ]!Sheet。 ShapeID CellName 方法引用单元格。

我知道我可以通过使用CellsSRC或在公式中使用形状名称来完成这项工作,但是出于速度原因,我宁愿坚持使用SetFormulas和形状ID。为什么Visio表现不一致的任何想法?

0 个答案:

没有答案