MS Visio - 在C#中创建/插入新的页面/选项卡

时间:2013-04-09 20:14:10

标签: c# visio

我几乎到处都搜索过,但找不到在Visio文档中用C#创建/插入新的Page / Tab的方法。我录制了一个在文档中创建新页面的VB宏,它非常简单。但是,我使用C#并找不到合适的commnands。提前谢谢!

1 个答案:

答案 0 :(得分:3)

使用C#编写,您将使用VBA使用的相同COM API。使用C#自动化Visio的一种简单方法是下载并安装Primary Interop Assembly (PIA)。然后在项目中包含参考Microsoft.Office.Interop.Visio。以下是使用PIA处理Visio文档中的页面的简单示例。

namespace VisioExample
{
    using System;
    using Microsoft.Office.Interop.Visio;

    class Program
    {
        public static void Main(string[] args)
        {
            // Start Visio
            Application app = new Application();

            // Create a new document.
            Document doc = app.Documents.Add("");

            // The new document will have one page,
            // get the a reference to it.
            Page page1 = doc.Pages[1];

            // Add a second page.
            Page page2 = doc.Pages.Add();

            // Name the pages. This is what is shown in the page tabs.
            page1.Name = "Abc";
            page2.Name = "Def";

            // Move the second page to the first position in the list of pages.
            page2.Index = 1;                
        }
    }
}

要了解开发解决方案,您可以在线查看Developing Visio Solutions手册。下载Visio SDK,它包含C#中的示例代码库。你可以看看Graham Wideman的“Visio 2003 Developer's Survival Pack”。正如您所发现的,宏录制器可以向您显示调用以实现任务所需的API方法。 VBA使用的COM API与您在C#中使用的API相同,代码的语法会有明显不同。