相关文章推荐
眼睛小的西装  ·  laravel配置passport ...·  5 月前    · 
谦虚好学的花生  ·  Error Code: 1046. No ...·  1 年前    · 
挂过科的太阳  ·  Azure Storage ...·  1 年前    · 
有腹肌的大白菜  ·  python ...·  1 年前    · 

Visio Viewer是一个 ActiveX 控件,可用于打开、查看或打印 Visio 绘图,即使没有 Visio 也是如此。 但是,不能在 Visio Viewer 中编辑、保存或创建新的 Visio 绘图。 为此,你需要 Visio。

Visio Viewer 提供了一个应用程序编程接口 (API),使解决方案开发人员可以执行多种任务,包括:

  • 加载和卸载 Visio 绘图。
  • 选择形状。
  • 跟踪超链接。
  • 向用户显示各种 Visio Viewer 对话框。
  • 自定义 Visio Viewer 窗口的大小和位置。
  • 通过更改前景和背景颜色,以及显示或隐藏网格和滚动条来自定义用户界面。
  • 控制绘图中各个图层的颜色和透明度。
  • 控制审阅者标记(注释)的的颜色和可见性。
  • 通过添加或移除按钮来自定义工具栏。
  • 在 Visio Viewer 界面中响应用户操作。
  • 在 Visual Basic 6.0 中对 Visio Viewer 进行编程

    使用 Visual Basic 6.0 在各种容器中实例化Visio Viewer控件, (例如 Windows 窗体) 。 在此之前,您必须获取对 Visio Viewer API 的引用。

    执行下列步骤,获取 Visual Basic 6.0 项目中对 Visio Viewer API 的引用。

    获取 Visual Basic 6.0 项目中对 Visio Viewer API 的引用

  • 打开 Visual Basic 6.0。 在 Windows Vista 或 Windows 7 中,右键单击程序快捷方式,然后选择“ 以管理员身份运行

  • 在 Visual Basic 6.0 中,打开一个新的“标准 EXE” 项目。

  • 在项目中,右键单击“工具箱”,选择“ 组件 ”,选择“ Microsoft Visio Viewer 14.0 类型库 ”,然后选择“ 确定 ”。

  • 在编译代码之前,在“ 项目 ”菜单上,选择“[ 项目名称 ] 属性 ”。

  • 在“Make” 选项卡上,确认“删除有关未使用的 ActiveX 控件的信息” 未选中。

    以下代码显示在 Visual Basic 6.0 中如何在窗体中实例化 Visio Viewer。 它将创建一个 Visio Viewer 控件,显示“属性和设置” 对话框,在窗体内设置控件的位置、大小和可见性,并将名为“MyFile.vsd”的文档加载到控件中。

    将以下代码添加到创建的项目中。

    Dim Viewer1 As VisioViewerCtl.Viewer
    Private Sub Form_Load()
        Set Viewer1 = Form1.Controls.Add("VisioViewer.Viewer", "Viewer1", Form1)
        Viewer1.Visible = True
        Viewer1.Left = 200
        Viewer1.SRC = "C:\Users\<variable>username</variable>\Documents\MyFile.vsd"
        Viewer1.Height = 5000
        Viewer1.Width = 5000
        Viewer1.DisplayPropertyDialog
    End Sub
    

    HTML 网页上的编程Visio Viewer

    使用 Visio Viewer 控件,通过在页面的源代码中手动插入标记和参数,将 Visio 绘图嵌入网页中。 若要编写源代码,可以使用文本编辑器(如记事本)或任何其他创建网页的应用程序,例如 Microsoft Expression Web 3 或 SharePoint Designer。

    您可以使用 PARAM 标记设置 Visio Viewer 的任何属性,以设置 Visio Viewer 的 Src 属性,如以下示例代码中所示。

    请记住,因为 Visio Viewer 是一种 ActiveX 控件,其行为受 Internet Explorer 安全设置影响。

    以下代码演示如何在网页上的 Visio Viewer 控件中打开 Visio 绘图文件。 它会设置页面上 Visio Viewer 控件的高度和宽度,并将源文档加载到控件中。

    在文本编辑器中将代码复制到一个文件中,并将生成的文档另存为 HTM 文件。 Src 参数引用的 Visio 文档“SalesData.vsd”应位于与此 HTM 文件相同的文件夹中。

    <OBJECT id="DrawingControl1" height=400 width=600 classid="clsid:279D6C9A-652E-4833-BEFC-312CA8887857" VIEWASTEXT> <PARAM NAME="Src" VALUE="SalesData.vsd"> </OBJECT> </html>

    在托管代码中对 Visio Viewer 进行编程

    例如,使用托管代码在各种容器(例如 Windows 窗体)中实例化Visio Viewer控件。 在此之前,您必须获取对 Visio Viewer API 的引用。

    执行下列步骤,获取 Visual Studio 2008 项目中对 Visio Viewer API 的引用。

    获取 Visual Studio 项目中对 Visio Viewer API 的引用

  • “开始 ”菜单上,指向“ 所有程序”,选择“ 附件”,然后选择 “命令提示符” 以打开“命令提示符”窗口。

  • 在“命令提示符”窗口中,导航到“程序文件”文件夹的“Microsoft Office/Office 14”子文件夹。

  • 将文件 VViewer.dll 复制到您有权写入新文件的文件夹位置(例如,您的用户文件夹)。

  • 关闭“命令提示符”窗口,然后打开 Visual Studio 2008 命令提示符窗口。 (在“开始”菜单上,指向“所有程序”,选择“Microsoft Visual Studio 2008”,选择“Visual Studio Tools”,然后选择“Visual Studio 2008 命令提示符) ”。

  • 在 Visual Studio 2008 命令提示符窗口中,导航到您将 Visio Viewer DLL 文件复制到其中的文件夹。

  • 在该文件夹中,键入 AxImp.exe vviewer.dll 以生成多个文件,包括AxVisioViewer.dll。

  • 在 Visual Studio 2008 中,打开一个新的 Windows 窗体应用程序项目。

  • 在项目中的“ 项目 ”菜单上,选择“ 添加引用”,然后选择“ 浏览”。

  • 浏览到创建AxVisioViewer.dll文件的文件夹,在列表中选择该文件,然后选择 “确定”。

    在您的 Visual Studio 项目中,在 Form1.cs 文件中,添加以下代码以对 Visio Viewer 控件进行实例化,设置部分属性并将测试文件加载到控件中。 此代码假定“文档”文件夹中有一个名为 Test.vsd 的 Visio 文件,位于所示路径处。 相应地修改为您的计算机的路径和文件名。

    <code language="CS" type="developer">public partial class Form1 : Form
            private AxVisioViewer.AxViewer viewer;
            /// &lt;summary&gt;
            /// The Visio Viewer OM
            /// &lt;/summary&gt;
            public AxVisioViewer.AxViewer Viewer
                    return this.viewer;
            public Form1()
                this.InitializeComponent();
                this.Resize += new EventHandler(this.UpdateSize);
                this.viewer = new AxVisioViewer.AxViewer();
                this.Controls.Add(this.viewer);
                this.viewer.CreateControl();
                this.viewer.Location = new Point(0, 0);
                this.UpdateSize(null, null);
            public void UpdateSize(object obj, EventArgs ea)
                this.viewer.ClientSize = new Size(this.ClientSize.Width - 150, this.ClientSize.Height - 150);
            private void Form1_Load(object sender, EventArgs e)
                this.viewer.Load("C:\\users\\username\\documents\\viewer\\test.vsd");
    </code>
    

    支持和反馈

    有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。

    即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:https://aka.ms/ContentUserFeedback

    提交和查看相关反馈

  •