科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件如何使用C#进行Visio二次开发

如何使用C#进行Visio二次开发

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文通过一些实例向大家介绍如何使用C#进行Visio二次开发,虽然应用不是太多,但还是有看看的价值。

作者:wuhuacong 来源:天极网 2007年12月11日

关键字: 使用 C# Visio 开发

  • 评论
  • 分享微博
  • 分享邮件

Visio Drawing Control控件使用

Visio开发必备

Visio SDK 2007
VisSDK.chm
Visio Code Samples Library.chm
Visio文档操作

查看ShapeSheet属性及帮助内容

宏的录制

Visio的几个重要对象

1、Application
2、Window (Application.ActiveWindow)
3、Document (Application.ActiveDocument)
4、Master、Shape

图1

Visio XML格式文件分析

Master格式

图2

Pages/Shapes格式

图3

图纸的XML文档中,Master后面的Shapes集合中只有一个Shape对象。图纸的Shapes集合有多个对象,每个对象的NameU和Name值可能不一样,一般使用NameU。

Visio基本操作的实现

VisApplication = this.ctrlDrawing.Document.Application;
VisWindow = VisApplication.ActiveWindow;
VisDocument = VisApplication.ActiveDocument;

//Settings
VisApplication.Settings.ShowShapeSearchPane = false; //显示搜索形状窗体
VisApplication.Settings.EnableAutoConnect = false; //自动链接(2007默认)
VisApplication.Settings.StencilBackgroundColor = 10070188; //vbGrayText

//文档各种显示
VisApplication.DoCmd((short)VisUICmds.visCmdViewRulers);
VisApplication.DoCmd((short)VisUICmds.visCmdViewGrid);
VisApplication.DoCmd((short)VisUICmds.ShowGuides);
VisApplication.DoCmd((short)VisUICmds.ShowConnectPoints);
VisApplication.DoCmd((short)VisUICmds.ShowPageBreaks);

//各种窗口
VisApplication.DoCmd((short)VisUICmds.visCmdShapesWindow);
VisApplication.DoCmd((short)VisUICmds.visCmdPanZoom);
VisApplication.DoCmd((short)VisUICmds.visCmdCustProp);
VisApplication.DoCmd((short)VisUICmds.visCmdSizePos); 

SendKeys.Send("^(x)");
//VisApplication.DoCmd((short)VisUICmds.visCmdUFEditCut);
SendKeys.Send("{DELETE}");
//VisApplication.DoCmd((short)VisUICmds.visCmdUFEditClear);
SendKeys.Send("^+(p)");
//VisApplication.DoCmd(VisUICmds.visCmdFormatPainter);
SendKeys.Send("^(z)");
//VisApplication.DoCmd(VisUICmds.visCmdEditUndo);

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章