我正在使用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://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版本吗?
非常感谢提前!
答案 0 :(得分:0)
我会创建一个支持VBA的Visio文件,而不是操作原始内容,该文件包含一个例程,用于搜索Visio文件中的连接器,更改名称,然后重新保存文件。您可以修改此例程以搜索多个文件或多个形状,还可以在形状主文件上搜索以调整具有任何名称的连接器。
您还可以在Visual Studio中使用Visio互操作工具来创建一个与我在上面的VBA方法中描述相同的应用程序。
这样做的好处是,您可以避免使用破坏文件的真实潜力来挖掘原始数据 - 正如您所发现的那样。它也会降低意外更改的可能性(例如,您在寻找的名称值可能会在不同上下文中的XML中的多个位置发生,您可能只是更改了错误的名称)。
通过以上解释,以下是您的问题的答案:
使用程序附带的工具可以使您想要的更改更轻松,更安全。