有史以来实现Excel外接程序最简单的教程

excel 中调用python程序 Excel中调用Python程序需要使用Excel的宏功能。具体步骤如下: 在Excel中点击“开发工具”按钮,在弹出的菜单中选择“宏”。 在“宏”窗口中,点击“新建”按钮,输入宏名称并点击“确定”按钮。 在新弹出的代码编辑窗口中,输入以下代码: Sub RunPython() Dim PythonExe, PythonScript, CommandLine As String... 阅读详情

1、编程环境及编程语言

本教程的编程环境及编程语言如下:

  • 编程环境:Win7,Visual Studio 2017,Office 2016
  • 编程语言:C#

2 编程步骤

(1)新建一个Excel的外接程序

  • 打开Visual Studio 2017,点【文件】→【新建】→【项目】,即出现如下对话框
    在这里插入图片描述
  • 左边选择【Office/SharePoint】,右边选择【Excel 2013和2016 VSTO 外接程序 】,下面的【名称】【位置】【解决方案名称】等均可以按其默认值,然后单击【确定】,至此完成了新建一个Excel的外接程序,程序默认打开ThisAdddIn.cs文件,如下图所示,此时的Excel外接程序尚无任何功能。
    在这里插入图片描述

    (2)完成Excel外接程序的第一个功能

    按照下述步骤,完成【当程序运行时,使当前Excel的活动单元格的值变为"VSTO"】。
    • 在类的声明变量里首先声明一个公有的Excel应用程序对象变量
public Excel.Application ExceApp;

其中的public表示在当前的类里面是公有的一个声明, Excel.Application与数据类型等类似,此处表示“应用程序类型”,ExceApp相当于自定义的一个变量名(此时是应用程序名),名称可以自己随意定义。
这与VBA的public ExcelApp as Excel.Application是完全对应的。

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

  • 在程序的启动事件(Startup事件)中加入下列语句:
 ExcelApp = Globals.ThisAddIn.Application;

完成后,这个外接程序的Startup事件完整的代码如下:

private void ThisAddIn_Startup(object sender, System.EventArgs e)
        {
            ExcelApp = Globals.ThisAddIn.Application;
        }

其中的ExcelApp = Globals.ThisAddIn.Application语句就是让对象变量ExcelApp取得Globals.ThisAddIn.Application 的控制权(控制开启的Excel),这与VBA中的Set ExcelApp=Application是意义相同。

  • 为当前Excel的活动单元格赋值"VSTO"

同样地,在程序的启动事件(Startup事件)中继续加入下列语句:

 ExcelApp.ActiveCell.Value= "VSTO";

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

  • 按F5键运行程序后,这时程序会打开Excel,默认打开的Excel选中的为第一个工作表的A1单元格,程序已经自动将A1单元格的值赋值为“VSTO”,如下图所示,至此,我们完成了最简单的一个Excel外接程序。
    在这里插入图片描述

程序的完整代码(ThisAdddIn.cs文件)如下:

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;

namespace ExcelAddIn1
    //这里是命名空间
{
    public partial class ThisAddIn
        //这里是类
    {
        //首先在这里声明公有的Excel应用程序对象变量
        public Excel.Application ExcelApp;
          private void ThisAddIn_Startup(object sender, System.EventArgs e)
        {
            ExcelApp = Globals.ThisAddIn.Application;
            ExcelApp.ActiveCell.Value= "VSTO";
        }

        private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
        {
        }

        #region VSTO 生成的代码

        /// <summary>
        /// 设计器支持所需的方法 - 不要修改
        /// 使用代码编辑器修改此方法的内容。
        /// </summary>
        private void InternalStartup()
        {
            this.Startup += new System.EventHandler(ThisAddIn_Startup);
            this.Shutdown += new System.EventHandler(ThisAddIn_Shutdown);
        }
        
        #endregion
    }
}

知识共享许可协议
本作品采用知识共享署名 4.0 国际许可协议进行许可。

Office如何通过VSTO进行EXCEL插件开发? VSTO(Visual Studio Tools for Office )是VBA的替代,是一套用于创建自定义Office应用程序的Visual Studio工具包。VSTO可以用Visual Basic 或者Visual C#扩展Office应用程序(例如Word、Excel、PPT)。本文通过VSTO进行Excel插件开发总结,并进行记录。 阅读详情

相关推荐

VSTO之一:Word外接程序

首先要清楚VSTO中Word对象模型: 其次要注意:ThisAddIn 类运行获取word实例和在ThisAddIn 类外获取word实例代码不同: //在ThisAddIn 类中: this.Application //ThisAddIn 类外: Globals.ThisAddIn.Application 1.任务窗格 在class ThisAddIn 中声明 Microsoft.Office.Tools.CustomTaskPane cp1; UserControl1 uc1; 在ThisAddI

qq_45623310的博客 1432

Excel和VS之间的连接:使用BasicExcel

你可以在官方网站上找到最新的版本:https://www.codeproject.com/Articles/32389/Read-Write-and-Format-Excel-using-Cplusplus-MFC,根据指示进行安装。本文将介绍如何使用BasicExcel类来实现Excel与VS之间的连接,并提供完整的源代码和相应的描述。上述代码创建了一个名为"MySheet"的工作表,并在该工作表中的第一行第一列和第一行第二列分别写入了"Hello"和"World"。步骤2:创建新的VS项目。

TechPr的博客 665

创建 VSTO 外接程序的 ClickOnce 安装包

一、创建Excel VSTO 外接程序的新项目 (一)新建解决方案和Excel VSTO 外接程序项目 创建一个Excel VSTO外接程序的新项目,选择“Excel VSTO外接程序(Visual Basic)”模板,命名为“Excel外接程序”。VS将显示解决方案名称为“ClickOnce-外接程序”,包含“Excel外接程序”项目。 (二)设计Excel VSTO外接程序 主要是设计菜单项和代码。 1.在“外接程序安装”项目上,点击右键,选择“添加”——“类”,在“添加新项- Excel外接

苹果2008的博客 1460

Springboot 最简单的结合MYSQL数据实现EXCEL表格导出及数据导入

嗯,今天如题,给大家介绍下最最最简单实现excel导入导出的功能,功能简单叙述: 导入:读取本地的excel表格,将里面的内容都插入对应的数据库表(批量插入) 导出:读取数据库表内容,将其导出到excel文件 进入正题前,还是啰嗦一下,为啥要做一个这样的简单实战介绍呢,因为现在网上很多结合poi实现excel导入导出的教程不是太花了,就是各种版本老旧,所以在此,我也是等于提炼一下可用的,等.........

默默不代表沉默 1万+

用C#写Excel插件

Excel插件的开发,目的是在工具栏中添加一个外部程序,点击这个外部程序,可以将当前的Sheet数据获取到并保存到另外一个sheet里面;主要注意两方面: 一、Excel插件外部程序建立向导,具体步骤是: 1. 在 Microsoft Visual Studio .NET的文件菜单上,单击新建,然后单击项目。 2. 在新建项目对话框中,展开项目类型下的其他项目,选择

Lassewang的成长历程 7626

用于 Excel 的代码实例 (C#)

用于 Microsoft Office 系统的 Visual Studio 工具 用于 Excel 的代码实例 (C#)本节包含具有特定功能的小段代码,当使用 Visual C# 创建 Microsoft Office Excel 2003 项目时,您可以引用这段代码。若要了解这些实例在上下文中的作用,请参见 Office 开发示例和 Office 开发演练

风从何处来 风吹何处去 1274

VSTO外接程序与VBA的联动尝试

尝试XML绘制EXCEL主菜单,注入EXCEL,并调用VBA的函数。

yqsy123123的博客 1185

excel 2013 如何使用visual studio 2012 创建一个excel 2013的外接程序addin

office中的excel是我们很常用的办公软件,通过它,能够对很多复杂的数据进行统计汇总,但是有时候,excel所提供的功能,也就是excel上面的很多功能按钮ribbon,不一定能够满足我们一些特殊的计算,所以我们需要通过一些开发的方式,开发一些自定义的功能按钮。接下来我们记录下如何使用visual studio 2012 创建一个excel 2013的外接程序addin。 1.使用管理员运

专注sharepoint,O365,BI大数据设计与开发 6179

c# Excel vsto外接程序(一)

工具:vs2019 社区版 目录 一、新建VSTO 外接程序 二、添加可视化编辑器 三、添加组件 一、新建VSTO 外接程序 二、添加可视化编辑器 在项目上右键 ==> 添加 ==> 新建项 ==> 功能区(可视化工具) 三、添加组件 在TabAddIns(内置) 下新建的的group中添加组件,会在Excel的头部出现一个加载项的选项。如图: 在group1中添加组件button3就会出现在图中位置。在TabAddIns(内置)上右键可添加新的选项...

qq_33270633的博客 2607

创建Excel应用程序级外接程序

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33862041的博客 879

如何使用 VBA 和 Office Developer 创建 Office COM 外接程序

 本文介绍如何在启动 Microsoft Excel 或 Microsoft Word 时显示一个欢迎您的用户窗体。组件对象模型 (COM) 外接程序提供一种方法,该方法可以将通用代码集中到一个已编译的动态链接库 (DLL) 中,您可以很容易地在任何 Office 应用程序中实现该库(例如,您可以从 Excel、Word 和 Microsoft Access 访问 Microsoft Outl

刘皓天的收藏夹 2372

power pivot_Excel Pivot Power Free外接程序更新

power pivot Excel Pivot Power Free外接程序更新 (Excel Pivot Power Free Add-in Update) If you're using my Excel Pivot Power Free add-in, there's a new version for you to download. There's one new feature, on...

culiao2169的博客 431

2021-03-11 创建Office外接程序

创建Office外接程序 通过工程创建一个外接程序 创建好后会有如下代码和引用 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.Offic

weixin_44304349的博客 716

HOW TO:使用 Visual C# .NET 生成 Office COM 外接程序 (From MSDN)

有关本文的 Microsoft Visual Basic .NET 版本,请参阅 302896。 有关本文的 Microsoft Visual Basic 6.0 版本,请参阅 238228。 有关本文的 Microsoft Visual C++ 6.0 版本,请参阅 230689。 本任务的内容摘要 IDTExensibility2 接口 OnConnection

834

VSTO外接程序项目只用1个文件实现Ribbon CustomUI和CustomTaskpane定制【C#版】

VSTO中的自定义功能区和自定义任务窗格需要用到各种命名空间、添加所需文件,才能实现。后来我发现可以把所有代码都写在ThisAddin.cs这个默认文件中。 大家可以在Visual Studio中创建一个外接程序项目,然后把ThisAddin.cs中的代码整体替换为下面我贴的这个代码。然后启动调试,就可以看到自定义功能区和任务窗格了。 1 using System; 2 u...

aiqiongchi3406的博客 762

在.net中创建外接程序

今天在一个项目中添加dll引用时发现了在.net 3.5中新增了一个System.AddIn的名字空间,在msdn上查了一下,这个是一个ms提供的一个外接程序扩展的解决方案,以后用得上的话可以看一下。 下列文字转自MSDN:外接程序为宿主应用程序提供扩展的功能或服务。.NET Framework 提供了一个编程模型,编程人员可以使用该模型开发外接程序并在外接程序的宿主应用程序中...

weixin_30517001的博客 93

python pandas读取excel-Python使用Pandas读写EXCEL文件教程

欢迎,来自IP地址为:211.103.135.163 的朋友教程开始之前,我们需要首先了解一下什么是Excel,这有助于理解之后教程中的内容。什么是ExcelExcel 是微软出品的和款办公软件它能够创建和编辑以”xls”和”xlsx”为后缀的电子表格文件Excel文件可以在Windows、macOS、Android和iOS系统中使用自1993年发布5.0 版本以来,Excel 已经成为电子表格...

weixin_37988176的博客 7万+
上一篇: VSTO之旅系列(六):实现Office的自动化,使你办公更容易
下一篇: VSTO(Excel相关)的C#代码
CVSTO
博客等级 码龄7年 57粉丝 19原创
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值