我有一个带有形状和相关形状数据的visio文档。我试图从这些形状中提取数据。 一些形状数据字段是公式(它在Visio中显示正确的值),但是在获取这些值时,我不确定如何将该值作为字符串返回。VBA无法从单元格返回值(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
谢谢你,约翰,这工作完美!出于好奇,你使用VB/VBA/VBscript的资源。我很新,很难找到好的资源,尤其是那些在Visio中提到VBA的资源。我知道Visio这个人确实是除了micorosoft之外唯一全面的资源,但是microsoft缺乏像我们在stackoverflow上找到的任何“社区/评论”......再次感谢! – Cjust689
我主要使用Visio中的VBA宏录制器,这是迄今为止学习所有这些事情的最简单方法。次好的是继续搜索堆栈溢出并在找不到答案时提出问题。 Visio Automation的MSDN文档很差,但它至少有时会告诉你一些有用的信息。您可能想要获取Visio Developer的生存指南,这可能会有所帮助。我不知道它是否是最新的,但2003年的版本仍然存在。 –