VBA无法从单元格返回值(Visio)

时间:2017-07-26 19:03:39

标签: vba visio

我有一个带有形状和相关形状数据的visio文档。我试图从这些形状中提取数据。 一些形状数据字段是公式(在Visio中显示正确的值)但是当获取这些值时,我不确定如何将值作为字符串返回。

这是电话:

avarFormulaArray(iCell) = 
shp.CellsSRC(Visio.VisSectionIndices.visSectionProp, iRow, 
Visio.VisCellIndices.visCustPropsValue).FormulaU

这些简单的答案是使用.Result而不是.FormulaU,但由于它不是正确类型(FormulaArray)必须是公式,因此不会起作用。目前还不确定如何解决这个问题。 任何帮助表示赞赏。

使用@JonFournier建议的解决方案

"""" & shp.CellsSRC(Visio.VisSectionIndices.visSectionProp, iRow, Visio.VisCellIndices.visCustPropsValue).ResultStr(Visio.VisUnitCodes.visNoCast) & """"

以下代码段确保无论形状表单元格中的内容是什么,都会返回结果值/字符串。 .ResultStr(Visio.VisUnitCodes.visNoCast)

附加到开头和结尾的引号给出了结果(值/字符串),好像它是使用我原来的`.FormulaU'但会计算公式并返回值而不是实际公式。

.ResultU.Result的使用将返回0表示不是值的所有内容因此字符串不会正常工作,因为它们返回为0.

3 个答案:

答案 0 :(得分:1)

使用.Result(visUnitCode)或.ResultIU()从单元格中获取值。

答案 1 :(得分:0)

在MS Visio避风港 .Value !它有 .Result 您可以在此字段中使用哪种数据类型?

答案 2 :(得分:0)