VSTO的旅行只需要三步就可以开启

其实VSTO就这么简单,你只需要三步就可以开启VSTO之旅了(以VS2019版为例)。

第一步:

  • 如下图所示,创建新项目,选 Excel VSTO 外接程序:
    在这里插入图片描述
  • 配置新项目,项目名称,位置,解决方案名称等都可以按默认,然后点创建。在这里插入图片描述
  • 然后就出来如下的界面,这时程序自动在前面加了一系列的引用,比如:
 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Linq;
using Excel = Microsoft.Office.Interop.Excel;
using Office = Microsoft.Office.Core;
using Microsoft.Office.Tools.Excel;

在这里插入图片描述

第二步:

在类声明public partial class ThisAddIn下面的花括号下面紧接着输入:

Excel.Application eApp;

在这里插入图片描述
从这里开始,在ThisAddIn类的范围内,eApp就代表Excel程序了。

第三步:

在触发的事件里(比如窗体被加载,按钮被点击……)首先加入语句:

eApp = (Excel.Application)System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Application");

下面以ThisAddIn被加载(Startup)的事件为例来加入该语句:
完成后代码如下:

        private void ThisAddIn_Startup(object sender, System.EventArgs e)
        {
            eApp = (Excel.Application)System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Application");
        }

完成后界面如下:
在这里插入图片描述
好了,经过以上三步你就已经开启了VSTO之旅了。

如何用呢?举个例子吧。

任务:将打开的Excel第1个工作表的A1单元格赋值为“CVSTO”,如何实现呢?

  • 其实只需要在刚才的代码后面加一句:
 eApp.Worksheets[1].Range["A1"]="CVSTO";

如下图所示:
在这里插入图片描述

  • 按F5运行程序,程序启动Excel,我们可以看到这里打开的Excel的第1个工作表的A1单元格值变成了CVSTO了。
    在这里插入图片描述
  • OK,VSTO之旅已经开始,路上风景无数,待你去发掘。
发布了19 篇原创文章 · 获赞 36 · 访问量 4091

猜你喜欢

转载自blog.csdn.net/CVSTO/article/details/104278420