我想打开一个Visio 2013文档,并使用Visio 2013 SDK(Visio 2013 SDK)按顺序遍历流程图对象,之后将实现自定义代码以将流程图对象中的值写入文本文件。我们的目标是能够使用C#而不是使用Visio内置的VBA宏来执行所有这些操作。这是否可能,如果有的话是否有任何入口点代码样本可用?Visio 2013 - 让C#能够像宏一样工作?
2
A
回答
1
在VBA中你可以做的所有事情都可以在C#中完成(通过采用当然的语法)。意思是,Visio对象模型同样可以从VBA和C#访问。至于代码示例,“顺序迭代”的含义并不十分清楚。例如,如果图上的形状形成一个循环,你会怎么做?它没有开始也没有结束。或者是一棵树?
虽然,你可以比较容易地枚举所有的形状和单独所有连接:
using System;
using Visio = Microsoft.Office.Interop.Visio;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
var app = new Visio.Application();
var doc = app.Documents.Open(args[0]);
var page = doc.Pages[1];
foreach (Visio.Shape shp in page.Shapes)
Console.WriteLine("shape #{0}: text: '{1}'", shp.ID, shp.Text);
foreach (Visio.Connect conn in page.Connects)
Console.WriteLine("connector: #{0} -> #{1}", conn.FromSheet.ID, conn.ToSheet.ID);
app.Quit();
}
}
}
在这些线程看看:
C# code to read visio shape's connectivity with other shapes in a flow chart
Traverse through every possible path in a Visio Flow-Chart with C#
注意,简单地将形状值写入文本文件,您可以使用“查看”选项卡上的“形状报告”按钮。查看更多有关“形报告”在Visio:
相关问题
- 1. Excel VBA Application.CountIf()不能像其他宏一样工作
- 2. C++引用是否像宏替换一样工作?
- 3. 让OpenFlow像Rolodex一样垂直工作
- 4. 让NSComboBox像HTML组合一样工作
- 5. 有没有人能够让FB.Canvas.setUrlHandler工作?
- 6. 如何能够让图像
- 7. InetAddress.getAllByName()不能像广告一样工作?
- 8. 我如何让WP Featherlight能够像画廊一样使用图像?
- 9. 如何让Three20的TTStyledTextLabel能够与外部图像一起工作?
- 10. C#能够像Java一样使用SPI(Meta-inf/service)吗?
- 11. Visio Professional 2013不支持UML部署图。如何使用Visio 2013创建一个?
- 12. 我怎样才能让Lua工作?
- 13. AngularJS和一个外部API - 让它像PostMan一样工作
- 14. 只有我能够保存启用宏的工作簿?
- 15. Sharepoint 2013中的Visio工作流可视化
- 16. Variadic宏需要一个无意义的宏让它工作?
- 17. 将Visio宏导出到Visio COM-Add-in
- 18. Webapp能够脱机工作!
- 19. 如何让CSS样式和jquery像Doctor div一样与Clinic div一起工作?
- 20. 如何在设计时让WPF像Forms一样工作?
- 21. 如何让ajax像Google Map API一样工作?
- 22. 如何让RadioButton在MVVM模式下像ComboBox一样工作?
- 23. Android:如何让onTouch像onClick一样工作?
- 24. 如何让spydlay模块像httplib/http.client一样工作?
- 25. 有没有办法让div像iframe一样工作?
- 26. 如何让PHP的Magic __set像自然变量一样工作?
- 27. 如何让gluLookAt和glPerspective像glortho一样工作?
- 28. 让斯莱普工作就像LookAt(x,Vector3.Right)一样
- 29. 如何让'git push'像'git push origin branch'一样工作?
- 30. 有没有办法让QLineEdit像QInputDialog一样工作?
谢谢三行我需要的是打开文档的那些,我意识到,一旦你发帖说为什么我的代码是不工作有人路过该程序是一个让我头痛的页面。 – user3215564