前言
Office Visio 是绘制各种类型图表的一个很好的工具,可以绘制业务流程的流程图、网络图、工作流图、数据库模型图、软件图,以及家居设计图等等,可用于可视化和简化业务流程、跟踪项目和资源、绘制组织结构图、映射网络、绘制建筑地图以及优化系统。
在最近的一个项目,要求导出Visio图纸,因为是建筑类的,所以,需要设置墙壁,门,房间等信息的参数。
拿墙壁为例,选中墙壁模型,右键属性,会弹出以下对话框。

需要设置墙长、墙壁厚度等一些列信息。
现在C#操作Visio里例子比较少,所以,花了好久,都没有看到有用的帖子,直到今天下午,在Bing里发现了一个帖子,顿时让我受益匪浅。原贴地址:http://www.easck.com/>
下滑,可以在Shape Data里看到此模型的属性信息

三、C#代码操作
1、打开墙模型模板

WALL_M.VSS是墙的模型模板,这个推荐大家用everything搜索一下,就能拿到模板路径了,自己需要哪个去里面找。
2、建立模型并设置参数

建立模型很方便,就是用document.Masters属性加模型名称,模型名称在哪呢,其实很好找,就是Visio的模型名称,用汉字就可以。

设置模型的参数有两种方式,图片中用粉色框,框起来的部分。
网上大部分的资料里都是用的第一个方法,这个方法不太方便记忆,而第二个方法就很方便了,也就是本文介绍的简单的方式。
模型名.Cells["属性名"].Formula
属性名,就是ShapeSheet里看到的那些属性,都是String类型,可以直接设置。设置成功以后,就是以下的图了。










