我几乎到处都搜索过,但找不到在Visio文档中用C#创建/插入新的Page / Tab的方法。我录制了一个在文档中创建新页面的VB宏,它非常简单。但是,我使用C#并找不到合适的commnands。提前谢谢!
答案 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相同,代码的语法会有明显不同。