excel C#二次開(kāi)發(fā)隨筆(純新手).

1.首先需要安裝VS,然后把需要的模塊一起安裝.
2.新建項(xiàng)目,VSTO外接程序.


1.png

3.新建好項(xiàng)目之后會(huì)生產(chǎn)以下代碼

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>
        /// 設(shè)計(jì)器支持所需的方法 - 不要修改
        /// 使用代碼編輯器修改此方法的內(nèi)容。
        /// </summary>
        private void InternalStartup()
        {
            this.Startup += new System.EventHandler(ThisAddIn_Startup);
            this.Shutdown += new System.EventHandler(ThisAddIn_Shutdown);
        }
        
        #endregion
    }
}

這些代碼由項(xiàng)目自動(dòng)生成,可以現(xiàn)在可以不用管他.
4.現(xiàn)在開(kāi)始做插件,首先右鍵項(xiàng)目添加新項(xiàng):選擇office/SharePoint下的功能區(qū)(可視化設(shè)計(jì)器)如下圖:


2.jpg

新建好了之后會(huì)有一個(gè)功能區(qū)給你,然后可以在上面增加各種控件,如下圖:


3.png

然后我們?cè)诠δ軈^(qū)點(diǎn)擊右鍵屬性,可以在右邊看到它的各種設(shè)定,如果有需要可以隨意修改,現(xiàn)在我們來(lái)新建一個(gè)按鈕然后給按鈕添加事件,具體操作如下:
4.png

直接把按鈕拖進(jìn)去,最后右鍵查看代碼就會(huì)跳轉(zhuǎn)到按鈕定義的事件代碼里邊去了.

5.然后我們?cè)诶锩嫣砑哟a,代碼如下:

//獲取當(dāng)前活動(dòng)的應(yīng)用程序
            Application app1 = Globals.ThisAddIn.Application;
            app1.Visible = true;
            //獲取當(dāng)前活動(dòng)的活動(dòng)頁(yè)
            _Workbook wb = app1.ActiveWorkbook;
            //獲取當(dāng)前的sheet
            Worksheet sheet1 = wb.Sheets[1];
          
            // 獲取當(dāng)前頁(yè)面A1的值,并修改
            Range rng = sheet1.get_Range("A1", Type.Missing);
            rng.Value2 = "hello";

由于百度上,官網(wǎng)上的實(shí)例代碼全都是新建工作簿的方式修改,所以我這里把代碼修改了下,改為了修改當(dāng)前打開(kāi)的工作簿的內(nèi)容.
6.最后點(diǎn)啟動(dòng),會(huì)自動(dòng)啟動(dòng)excel,然后新建工作簿,然后會(huì)看到以下界面


5.png

然后點(diǎn)擊剛才我們新建的按鈕,A1的值就被修改成了Hello了.
7.一個(gè)簡(jiǎn)單的Excel插件建立好了之后,還需要給別人的電腦安裝使用才行,這個(gè)時(shí)候就需要用到VS的發(fā)布功能了,然后我們點(diǎn)擊項(xiàng)目右鍵發(fā)布功能,會(huì)彈出一個(gè)發(fā)布向?qū)?


6.png

先指定好位置,然后下一步,會(huì)彈出個(gè)用戶安裝位置,這時(shí)我們選最后一個(gè)從CD-rom里面安裝:
7.png

下一步,最后點(diǎn)完成,這樣我們就會(huì)在目標(biāo)文件夾里面得到1個(gè)文件夾2個(gè)安裝文件如圖:
8.png

這時(shí)就可以把這三個(gè)東西復(fù)制給別人用來(lái)安裝了,安裝成功后就會(huì)出現(xiàn)第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)
        {
            //獲取當(dāng)前活動(dòng)的應(yīng)用程序
            Application app1 = Globals.ThisAddIn.Application;
            app1.Visible = true;
            //獲取當(dāng)前活動(dòng)的活動(dòng)頁(yè)
            _Workbook wb = app1.ActiveWorkbook;
            //獲取當(dāng)前的sheet
            Worksheet sheet1 = wb.Sheets[1];
          
            // 獲取當(dāng)前頁(yè)面A1的值,并修改
            Range rng = sheet1.get_Range("A1", Type.Missing);
            rng.Value2 = "hello";
          

        }
    }
}

純手打記錄,如果有問(wèn)題可在下方留言.

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,057評(píng)論 25 709
  • 1.1 VBA是什么 直到90年代早期,使應(yīng)用程序自動(dòng)化還是充滿挑戰(zhàn)性的領(lǐng)域.對(duì)每個(gè)需要自動(dòng)化的應(yīng)用程序,人們不得...
    浮浮塵塵閱讀 22,141評(píng)論 6 49
  • 35歲生日過(guò)了后,越來(lái)越感覺(jué)到自己在悄悄變化。無(wú)論是面容輪廓、肌膚彈性,各個(gè)方面,和20多歲時(shí)都不能同日而語(yǔ)了。護(hù)...
    檸檬之酸閱讀 500評(píng)論 0 1
  • 俗話說(shuō),大學(xué)生多如狗,研究生遍地走。當(dāng)今社會(huì),工作壓力越來(lái)越大。很多人,開(kāi)始工作一段時(shí)間之后,又回去考研去了。幾乎...
    荻花令閱讀 1,172評(píng)論 0 0
  • 本篇要點(diǎn): 一、本篇著重論述了正經(jīng)、奇經(jīng)、別絡(luò)等經(jīng)絡(luò)發(fā)生病變所致腰痛病的臨床表現(xiàn)和針刺治療方法。 二、重點(diǎn)介紹了腰...
    駱長(zhǎng)珊閱讀 642評(píng)論 0 1

友情鏈接更多精彩內(nèi)容