如何判断visio的shape的类型?

garymaster 2014-08-30 05:07:03
最近开发一个C#程序调用Microsoft.Office.Interop.Visio组件去解析Visio的VSD文件,遇到一个问题就是如何判断一个shape的类型?对于visio内部的基本形状,例如矩形,直线,椭圆,文本等通过shape对象的什么信息去判断?

另外还有个问题就是如何得到该对象所用的字体,是不是通过characters获取?

先谢谢了。
...全文
209 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yb0312 2015-11-15
  • 打赏
  • 举报
回复
Shape.Type 属性 返回对象的类型。只读。 版本信息 已添加版本: Visio 2.0 语法 表达式.Type 表达式 一个代表 Shape 对象的变量。 返回值 Integer 说明 Shape 对象的类型值常量(Shape 对象的 Type 属性返回的可能值)由 Visio 类型库在 VisShapeTypes 中声明。 如果 Shape 对象的类型为 visTypeForeignObject,请使用 ForeignType 属性确定由该对象代表的外来对象的类型。 常量 值 说明 visTypeBitmap 32 如果形状为位图,则由 Shape.ForeignType 返回。 visTypeDoc 6 文档的 DocumentSheet。 visTypeForeignObject 4 导入的形状。 visTypeGroup 2 包含其他形状的形状。 visTypeGuide 5 作为参考线的形状。 visTypeInk 64 如果形状为墨迹,则由 Shape.ForeignType 返回。 visTypeInval 0 无形状的类型。用作筛选代码时表示所有类型。 visTypeIsControl 1024 如果形状为控件,则由 Shape.ForeignType 返回。 visTypeIsEmbedded 512 如果形状是嵌入的,则由 Shape.ForeignType 返回。 visTypeIsLinked 256 如果形状是链接的,则由 Shape.ForeignType 返回。 visTypeIsOLE2 32768 如果形状为链接形状、嵌入形状或控件,则由 Shape.ForeignType 返回。 visTypeMetafile 16 如果形状为图元文件,则由 Shape.ForeignType 返回。 visTypePage 1 页或主控形状的 PageSheet 属性。 visTypeShape 3 本地 Visio 形状。
garymaster 2014-08-30
  • 打赏
  • 举报
回复
查了资料,visio里面shape是没有类型这个概念,全部靠绘制信息来决定shape。结贴。
garymaster 2014-08-30
  • 打赏
  • 举报
回复
引用 1 楼 andywangguanxi 的回复:
参考 http://blog.csdn.net/puretech_/article/details/5497059
谢谢,这篇文章介绍的是访问他自己定义在shape的形状数据的内容,我想了解如何知道这个shape本身到底是什么形状,这个信息在shapesheet里面没有找到。

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧