自动处理 vsdx 文件的竞争

Manipulating contend of a vsdx-file automatically

我使用的是 Visio 2013 标准版。此外,我还有 Visual Studio 2008 标准版。

这是我最后尝试做的:

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

背景:

我(最好)以 Visio 用户的身份写这篇文章。我是一名嵌入式软件开发人员。通常我与 XML 或 VB-packages.

无关

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

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

之所以想到XML和套餐:

我们在工作中使用的是 Visio 2013 Standard(非 Professional)。据我了解,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-files 与 vsdx-files 不同:

这些是我的问题:

a) 我必须使用 Visual Studio 吗?

b) 如果不使用Visual Studio会有什么缺点?

c) 如果没有 Visio 2013 Professional 版本,是否无法从 Visio 中自动更改连接器名称?

d) 如果 Visio 2013 Professional 确实必须使用宏,这可能意味着我还需要了解 OPC、XML 和包?

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

非常感谢!

我不会处理原始内容,而是创建一个 VBA-enabled Visio 文件,其中包含一个例程,用于在 Visio 文件中搜索连接器,更改名称,然后 re-save 文件。您可以修改此例程以搜索多个文件或多个形状,也可以在形状母版上搜索以调整具有任何名称的连接器。

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

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

完成上述解释后,以下是您问题的答案:

  1. 您不必使用 Visual Studio
  2. 不使用 Visual Studio 没有缺点,如果你有其他方法 有效(例如 VBA)。主 Visio 文件会更便携, 特别是在 IT 被锁定的企业环境中 新应用程序。
  3. 如上所示,你想要的改变,即使你 没有 Visual Studio(例如通过 VBA)
  4. 通过使用 Visio 互操作程序集或 Visio 本身,您不必 需要知道XML等等
  5. 任何版本的 Visio 都可以做到这一点,而不仅仅是专业版。

使用程序附带的工具可以更轻松、更安全地进行您想要的更改。