【问题标题】:MS Visio 2010: Saving as .svg sets values to 0MS Visio 2010:另存为 .svg 将值设置为 0
【发布时间】:2015-03-12 21:08:16
【问题描述】:

我想将我的 Visio 形状保存为 .svg 文件以合并到 XML 文档中。但是,当我保存它时,我形状中的所有值都设置为 0。我已经四次检查了形状数据,所有值都在那里,公式返回正确的值。奇怪的是,保存为 .svg 在 Visio 2007 中有效并且所有值都是正确的,但在 Visio 2010 中所有值都是 0。这是为什么?不幸的是,这是我的第一篇文章,所以我没有 10 个代表,所以我无法添加屏幕截图。

形状是组合在一起的 4 个单独的行。数据存储在“主”形状中,即所有行组合在一起。然后,单个形状中的单元格从主形状中引用其值。

4 个主要形状行论坛中的 1 个示例:

ShapeData 属性 - Value = Sheet.1!Prop.Row_2(引用主要形状行,存储值)

文本字段属性 - Value = Prop.Row_1(引用其单行,包含主形状的值)

真正的关键是我在 4 个月前解决了这个问题,但我的同事有更多的形状遇到同样的问题。我不记得我是如何修复它的,我修复的形状在结构和数据处理方面是相同的

我还注意到的一些奇怪的事情是,当我在文本字段或形状数据属性中的值字段文本之后键入“.Value”时,“.Value”会在我按 Enter 后自动省略,但随后该字段产生正确的 .svg 输出。但是,当我在主形状中进行更改时,这不起作用。如此有效,我必须进入每个值字段并手动输入“.Value”并按 Enter 键才能工作。我也试过关闭所有的形状保护,没有乐趣。

我目前正在编写一个宏来“刷新”所有值字段,方法是在它们后面添加“.Value”来模仿我手动输入。

任何帮助或反馈将不胜感激!

【问题讨论】:

    标签: visual-studio-2010 debugging svg visio


    【解决方案1】:

    我相信这是升级问题(2007->2010)。这个已经看过几次了。修复尝试:

    • 在 Visio 2003(或 2007)中打开图表,而不是在 Visio 2010 中
    • 将其另存为 .VDX(Visio XML 绘图)文件
    • 关闭它
    • 在同一个 Visio 中再次打开 VDX 文件
    • 将其另存为普通 VSD 文件。这应该可以修复损坏的 VSD 文件。
    • 删除VDX文件,不需要

    如果这不起作用,请尝试共享源文件(保管箱或其他)。

    【讨论】:

    • 感谢尼古拉的回复!我已经尝试过了,不幸的是形状值仍然为 0。另一个奇怪的事情是,如果我在 shapesheet 上取消组合并重新组合形状,则 .svg 输出上的值是正确的..
    • 抱歉,刚刚完善了程序。您需要使用 2007 而非 2010 来保存 VDX。如果没有帮助,请告诉我。
    • 找到了解决方案。将其发布为我自己问题的答案。谢谢你的建议:)
    • 感谢分享!虽然它没有回答问题,但为什么 2007 年和 2010 年之间存在差异......,即 SVG 导出中究竟发生了什么变化。
    【解决方案2】:

    问题在于行文本字段是数据对象类型。当我删除文本形状保护并插入一个形状数据字段时,正确的值显示在 .svg 输出文件中。

    【讨论】:

      猜你喜欢
      • 2022-06-14
      • 1970-01-01
      • 2013-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-14
      • 2020-11-07
      相关资源
      最近更新 更多