自动操纵vsdx文件的争用

时间:2018-02-26 13:55:55

标签: xml vba visual-studio zip visio

我正在使用Visio 2013 Standard。我还有Visual Studio 2008标准版。

这是我最后尝试做的事情:

更改,例如两个形状之间的连接器的名称,自动为其提供Visio外部的名称(例如txt或csv文件)。虽然,我需要一些基本的低调。

背景

我写这个(最好)作为Visio的用户。我是一名嵌入式软件开发人员。通常我与XML或VB包没有任何关系。

我想让项目数据更容易理解。门和值记录了值和名称。但Visio显示到目前为止只是名字。我希望在Visio-diagramms上看到这些值保存在Doors中。

很容易从门获取txt或csv文件。但到目前为止,我还没有找到一种简单的方法将这些数据导入Visio。

我在考虑XML和包的原因:

我们的工作是Visio 2013 Standard(非专业版)。据我所知,Visio 2013 Professional仅提供此解决方案(请参阅说明的第一句。)。

https://support.office.com/en-us/article/import-data-to-shapes-in-your-drawing-d174b3fd-3079-42fd-81e8-2dbf8d38bb03

我已阅读或试图理解:

https://msdn.microsoft.com/en-us/library/office/jj649391.aspx

https://msdn.microsoft.com/en-us/en-en/library/office/jj228622.aspx

因此,这是我尝试的第一步:

1)我用Visio绘制两个形状,用连接器连接它们。连接器有一个名称,我肯定会在以后的任何XML文件中找到它。我保存了文件并将其关闭。

2)将文件类型从.vsdx更改为.zip

3)解压缩文件夹

4)搜索连接器的名称,并在文件夹'page1'

中找到它

5)通过Notepad ++

更改了连接的名称

6)再次解压缩文件夹

7)将类型从.zip更改为.vsdx

8)试图打开重新获得的.vsdx文件但失败了。 Visio说它无法打开文件或组件,因为它已损坏。

这就是我想的:

问题在于xml文件与vsdx文件不同:

  • 我想因为vsdx文件必须作为一个包处理(而不是作为xml文件)我必须(!)使用Visual Studio而不是通过Notepad ++进行简单的更改。

  • 我想如果使用Visual Studio,我将有优势来查找和处理这些对象。我想要更动态地操作 - 因为Viso项目的路径和文件夹结构可能并不总是相同。

  • 我认为Visio中没有解决方案,例如,我将获得专业版。

这些是我的问题:

  • 打开重新获得的vsdx文件失败的原因是什么?

  • 我认为这是真的吗?

a)我必须使用Visual Studio吗?

b)如果不使用Visual Studio会有什么不利之处?

c)如果没有Visio 2013 Professional版本,是否不可能在Visio中自动更改连接器名称?

d)如果让Visio 2013 Professional必须使用宏,这可能意味着我也需要了解OPC,XML和软件包吗?

e)使用Visio 2013本身来解决我的任务,这真的需要Visio 2013 Professional版本吗?

非常感谢提前!

1 个答案:

答案 0 :(得分:0)

我会创建一个支持VBA的Visio文件,而不是操作原始内容,该文件包含一个例程,用于搜索Visio文件中的连接器,更改名称,然后重新保存文件。您可以修改此例程以搜索多个文件或多个形状,还可以在形状主文件上搜索以调整具有任何名称的连接器。

您还可以在Visual Studio中使用Visio互操作工具来创建一个与我在上面的VBA方法中描述相同的应用程序。

这样做的好处是,您可以避免使用破坏文件的真实潜力来挖掘原始数据 - 正如您所发现的那样。它也会降低意外更改的可能性(例如,您在寻找的名称值可能会在不同上下文中的XML中的多个位置发生,您可能只是更改了错误的名称)。

通过以上解释,以下是您的问题的答案:

  1. 您不必使用Visual Studio
  2. 如果您有其他方法,没有使用Visual Studio的缺点 有效(例如VBA)。主Visio文件将更加便携, 特别是在IT被锁定的企业环境中 新申请。
  3. 如上所示,即使您可以完成所需的更改 没有Visual Studio(例如通过VBA)
  4. 通过使用Visio互操作程序集或Visio本身,您不会 需要了解XML等。
  5. 任何版本的Visio都可以实现,而不仅仅是专业版。
  6. 使用程序附带的工具可以使您想要的更改更轻松,更安全。