请问各位达人,我想用vb创建一个visco文件,并在里面画图。在网上找了半天,好象跟这个有关的资料很少。目前我只会用vb创建word文档并画图。但是连接word的时候要引用一个word object library,那连visco是不是也应该有一个,我找了半天没找到还盼高手指教,感谢ing 

解决方案 »

  1.   

    Microsoft Office Visio应该可以引入VB.
      

  2.   

    在引用中找Microsoft Office Visio的DLL.
      

  3.   

    更正一下,打错了,应该是visio。可以引到vb里,在机器上安装后工程--引用里就有他的库了。新问题来了,就是怎么定义它。以前的word是dim newdoc as word.document,然后set newdoc=new word.document后面就可以接宏执行了。这个的话我不知道dim这条里应该选什么类型的,还有set那句如果仿照word里的定义,写成set newvisio=new visio.的话,.后面可选的只有2个选项,2个我都试过了,都报错。拜求高手给个例子或格式吧~~
      

  4.   

    哇塞,我自己找着个连接,先用用看。入门
    本文中的代码示例演示如何控制 Visio 从 Microsoft Office 2007、 Microsoft Office 2003、 Microsoft Office 2002、 Microsoft Visual Basic 6.0,或从任何程序包含 Visual Basic 开发工具。 要实现 Visio 的自动化请按照下列四个主要步骤: 
    添加一个对 Visio 类型库的引用。
    声明一个变量作为 Visio 对象类型 (通常 Visio.Application 或 Visio.Documents)。
    在步骤 2 中声明该对象变量分配 GetObject 或 CreateObject 方法。
    使用 Visio 对象的属性、 方法和子对象自动 Visio。
    第 1 步: 添加一个对 Visio 类型库的引用
    通过使用 Microsoft Office 应用程序 (如 Microsoft Office XP 或 Office 2003 中添加一个对 Visio 类型库的引用,请按照下列步骤操作: 
    在 Access、 PowerPoint、 Excel,或 Word,指向 工具 菜单上的 宏,然后单击 Visual Basic 编辑器。
    在 工具 菜单上单击 引用。注意 若要将引用使用 Microsoft Visual Basic 6.0 中单击 项目 菜单上的 引用。
    在 可用引用 的列表,单击以选中以下复选框取决于所使用的 Visio 版本之一: 
    对于 Visio 2007 单击以选中 Microsoft Visio 12.0 类型库 复选框。
    对于 Visio 2003 单击以选中 Microsoft Visio 11.0 类型库 复选框。
    对于 Visio 2002 单击以选中 Microsoft Visio 2002 类型库 复选框。
    当添加 Microsoft Visio 类型库引用时,Microsoft Visio 联机帮助和 Visio 对象模型,可以访问您的程序。 因为引用保存在每个项目中,您必须添加 Visio 类型库引用,为您要使用自动化 Visio 的每个 Visual Basic 或 VBA 项目。
    步骤 2: 声明对象变量
    若要将 Visio 对象变量,维度变量声明为 such as Visio.Application、 Visio.Documents,或 Visio.Page 一个特定的 Visio 对象类型。 显式声明在对象类型调用 早期绑定,因为控制器应用程序连接或 绑定 到 Visio 应用程序在编译时 (而不是在运行时对象。 这使您可以访问 Visio 自动列表和上下文相关帮助,并使代码更有效地运行。关于对象绑定的详细信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 
    138138  (http://support.microsoft.com/kb/138138/ ) 后期,ID,早绑定类型可能在 VB 中为应用程序 
    下面的示例 Visual Basic 参数声明为类型 Visio.Application 的对象变量 AppVisio:
       Dim AppVisio as Visio.Application
    步骤 3: 设置变量
    使用以下两个 Visual Basic 方法可以激活 Visio: 
    CreateObject
    GetObject
    主要区别是 visio 的 CreateObject 方法创建 Visio 的新实例,并且 GetObject 方法使用一个已经正在运行实例。 您还可以使用 GetObject 要将对象变量设置为特定的 Visio 文档。下面的示例参数将 AppVisio 变量设置为 Visio 应用程序使用该 CreateObject 函数: 
       Dim AppVisio as Visio.Application   Set AppVisio = CreateObject("Visio.Application")
    在某些情况可能希望使用现有的 Visio 实例,如果 Visio 已经运行,但如果未运行 Visio 创建一个新实例。 若要执行此操作创建的错误处理程序使用 CreateObject 方法中的事件 GetObject 方法失败,(此示例代码所示: 
       Dim AppVisio As Visio.Application   On Error Resume Next   Set AppVisio = GetObject(, "visio.application")   If AppVisio Is Nothing Then
          Set AppVisio = CreateObject("visio.application")
       End If 笔记,也可以使用 CreateObject 函数创建一个 Visio 实例就是不可见。 例如: 
    Set AppVisio = CreateObject("Visio.InvisibleApp")
    ,然后可以使用 Application 对象到控件的 Visible 属性实例是否可见。 您可以使用 InvisibleApp 对象与 CreateObject 函数。 尝试使用与该 GetObject 函数将失败。 InvisibleApp 对象不是在 Visio 的版本早于 Microsoft Visio 2000 中可用的。
    步骤 4: 使用 Visio 对象、 方法和属性
    完成步骤 1 到步骤 3 后,您可以使用 Visio 来自动完成 Visio 对象变量。下面的示例宏使用自动化来启动 Visio,请创建一个基于基本框图模板的新绘图 (文档)、 除去一个矩形、 向其中添加一些文本并保存绘图和退出 Visio。 
    Sub AutoVisio()   
       Dim AppVisio As Visio.Application  ' Declare an Instance of Visio.
       Dim docsObj As Visio.Documents     ' Documents collection of instance.
       Dim DocObj As Visio.Document       ' Document to work in.
       Dim stnObj As Visio.Document       ' Stencil that contains master.
       Dim mastObj As Visio.Master        ' Master to drop.
       Dim pagsObj As Visio.Pages         ' Pages collection of document.
       Dim pagObj As Visio.Page           ' Page to work in.
       Dim shpObj As Visio.Shape          ' Instance of master on page.   ' Create an instance of Visio and create a document based on the
       ' Basic Diagram template. It doesn't matter if an instance of
       ' Visio is already running, CreateObject will run a new one.
       Set AppVisio = CreateObject("visio.application")   Set docsObj = AppVisio.Documents   ' Create a document based on the Basic Diagram template that
       ' automatically opens the Basic Shapes stencil.
       Set DocObj = docsObj.Add("Basic Diagram.vst")   Set pagsObj = AppVisio.ActiveDocument.Pages   ' A new document always has at least one page, whose index in the
       ' Pages collection is 1.
       Set pagObj = pagsObj.Item(1)   Set stnObj = AppVisio.Documents("Basic Shapes.vss")
       Set mastObj = stnObj.Masters("Rectangle")   ' Drop the rectangle in the approximate middle of the page.
       ' Coordinates passed with the Drop method are always inches.
       Set shpObj = pagObj.Drop(mastObj, 4.25, 5.5)   ' Set the text of the rectangle.
       shpObj.Text = "This is some text."   ' Save the drawing and quit Visio. The message pauses the program
       ' so you can see the Visio drawing before the instance closes.
       DocObj.SaveAs "MyDrawing.vsd"
       MsgBox "Drawing finished!", , "AutoVisio (OLE) Example"   ' Quit Visio.
       AppVisio.Quit   ' Clear the variable from memory.
       Set AppVisio = NothingEnd Sub