【问题标题】:How to force visio to re-evalute formulas when an untrusted visio document is opened打开不受信任的 visio 文档时如何强制 visio 重新评估公式
【发布时间】:2009-09-21 17:57:39
【问题描述】:

我有一个在 Visio 外部创建 Visio 文件 (VDX) 的模块。根据 SDK,这指的是“不受信任”的 XML。 我通过从我的模板复制 Masters 创建了我的 xml 文件,然后使用 XML 稀疏文件引用它们。

在我的稀疏 xml 中,我以这种方式覆盖形状的位置和大小:

<Shape ID="154" Master="0">
       <Text>Text of the shape</Text>
       <XForm>
         <PinX>2.90625</PinX>
         <PinY>3.895833333333333</PinY>
         <Width F="No Formula">0.75</Width>
         <Height F="No Formula">0.5</Height>
       </XForm>
</Shape>

我的形状是一个有子形状的组。

它有效,Visio 能够打开它,但子形状具有主形状的默认宽度和高度。 形状之间的链接也没有正确路由。

如果我复制/粘贴到同一个新文件中,那么我会得到预期的结果。

我试图强制子形状的宽度和高度。我遇到了同样的问题。

我尝试通过显式调用 Cell 类的 trigger() 方法在打开文档时使用 VBA 代码,我得到了预期的结果。 它也可以,我打开形状表。值是黑色的,我只是在单元格上按 Enter,我也得到了预期的结果。

我对问题的理解是,当我打开文档时,visio 不会评估我的子形状的公式。

不幸的是,我不能依靠宏来强制和更新单元格。我想知道是否有办法在我打开文档时强制重新评估我的子形状的公式。

提前致谢。

埃里克

【问题讨论】:

    标签: xml sdk visio formula shapesheet


    【解决方案1】:

    【讨论】:

      【解决方案2】:

      基于 http://blogs.office.com/2013/01/29/10-tips-for-developers-working-with-the-visio-vsdx-file-format/

      在 docPropscustom.xml 部分中使用 RecalcDocument 标志。这将导致完全重新计算,类似于 VDX 的加载行为,但也会显着减慢加载速度。重新计算并加载文件后,下一次保存将从文档中删除 RecalcDocument 标志。这会将性能影响限制为单个文件加载。 带有 RecalcDocument 标志的 custom.xml 部分的示例如下所示。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-09-29
        • 2013-08-15
        • 2020-02-24
        • 2013-08-21
        • 1970-01-01
        相关资源
        最近更新 更多