excel C#二次开发随笔(纯新手).

1.首先需要安装VS,然后把需要的模块一起安装.
2.新建项目,VSTO外接程序.


1.png

3.新建好项目之后会生产以下代码

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
    {
        private void ThisAddIn_Startup(object sender, System.EventArgs e)
        {
            
        }

        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.现在开始做插件,首先右键项目添加新项:选择office/SharePoint下的功能区(可视化设计器)如下图:


2.jpg

新建好了之后会有一个功能区给你,然后可以在上面增加各种控件,如下图:


3.png

然后我们在功能区点击右键属性,可以在右边看到它的各种设定,如果有需要可以随意修改,现在我们来新建一个按钮然后给按钮添加事件,具体操作如下:
4.png

直接把按钮拖进去,最后右键查看代码就会跳转到按钮定义的事件代码里边去了.

5.然后我们在里面添加代码,代码如下:

//获取当前活动的应用程序
            Application app1 = Globals.ThisAddIn.Application;
            app1.Visible = true;
            //获取当前活动的活动页
            _Workbook wb = app1.ActiveWorkbook;
            //获取当前的sheet
            Worksheet sheet1 = wb.Sheets[1];
          
            // 获取当前页面A1的值,并修改
            Range rng = sheet1.get_Range("A1", Type.Missing);
            rng.Value2 = "hello";

由于百度上,官网上的实例代码全都是新建工作簿的方式修改,所以我这里把代码修改了下,改为了修改当前打开的工作簿的内容.
6.最后点启动,会自动启动excel,然后新建工作簿,然后会看到以下界面


5.png

然后点击刚才我们新建的按钮,A1的值就被修改成了Hello了.
7.一个简单的Excel插件建立好了之后,还需要给别人的电脑安装使用才行,这个时候就需要用到VS的发布功能了,然后我们点击项目右键发布功能,会弹出一个发布向导:


6.png

先指定好位置,然后下一步,会弹出个用户安装位置,这时我们选最后一个从CD-rom里面安装:
7.png

下一步,最后点完成,这样我们就会在目标文件夹里面得到1个文件夹2个安装文件如图:
8.png

这时就可以把这三个东西复制给别人用来安装了,安装成功后就会出现第5张图的界面了.
8.最后附上新建的按钮控件完整代码:

using System;
using Microsoft.Office.Tools.Ribbon;
using Microsoft.Office.Interop.Excel;

namespace ExcelAddIn1
{
    public partial class Ribbon1
    {
        

        private void Ribbon1_Load(object sender, RibbonUIEventArgs e)
        {

        }


        private void button1_Click(object sender, RibbonControlEventArgs e)
        {
            //获取当前活动的应用程序
            Application app1 = Globals.ThisAddIn.Application;
            app1.Visible = true;
            //获取当前活动的活动页
            _Workbook wb = app1.ActiveWorkbook;
            //获取当前的sheet
            Worksheet sheet1 = wb.Sheets[1];
          
            // 获取当前页面A1的值,并修改
            Range rng = sheet1.get_Range("A1", Type.Missing);
            rng.Value2 = "hello";
          

        }
    }
}

纯手打记录,如果有问题可在下方留言.

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,098评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,213评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,960评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,519评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,512评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,533评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,914评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,804评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,563评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,644评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,350评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,933评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,908评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,146评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,847评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,361评论 2 342

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,382评论 25 707
  • 1.1 VBA是什么 直到90年代早期,使应用程序自动化还是充满挑战性的领域.对每个需要自动化的应用程序,人们不得...
    浮浮尘尘阅读 21,696评论 6 49
  • 35岁生日过了后,越来越感觉到自己在悄悄变化。无论是面容轮廓、肌肤弹性,各个方面,和20多岁时都不能同日而语了。护...
    柠檬之酸阅读 425评论 0 1
  • 俗话说,大学生多如狗,研究生遍地走。当今社会,工作压力越来越大。很多人,开始工作一段时间之后,又回去考研去了。几乎...
    荻花令阅读 1,046评论 0 0
  • 本篇要点: 一、本篇着重论述了正经、奇经、别络等经络发生病变所致腰痛病的临床表现和针刺治疗方法。 二、重点介绍了腰...
    骆长珊阅读 599评论 0 1