Skip to main content
 首页 » 原创软件

初探office excel插件开发

2022年08月13日 17:36:4214373337

Excel插件用过不少,大部分都是收费,功能多(excel百宝箱、E灵、kutools、小蓝条等),自己也破解过类似的插件(Excel插件破解教程),也曾想自己开发一个类似的插件,但也一直未动手写过。


第一次写office excel插件,仅记录和学习,当然如果你也想写一个,按照我的步骤保证你也能拥有一个属于自己的小插件!


最后我也会放一个成品供有需要的小伙伴们下载。


开发环境:

  1. WIN7

  2. VS2013

  3. OFFICE 2013


  1. 第一步,创建一个插件框架,根据向导生成就可以了。

    启动VS2013

    image.png

    点开【文件】-【新建】-【项目】

    image.png

    在新建项目窗口中,选择【Excel2013 外接程序】  (因为我的环境是office 2013  所以我这里选择 2013,你电脑的office是2016  你创建的时候也可以选择2016 ),然后对项目取一个名字,我这里取名:WoNiuHelper

    image.png

    创建完项目后,界面如下

    image.png

  2. 第二步,对excel插件添加控件

    我们需要对插件创建一个设计器,就是建立一个插件界面

    对项目名称右键-【添加】-【新建项】

    image.png

    选择【功能区(可视化设计器)】-输入一个设计器的名称(当然你可以不改这个名称,因为系统默认就会有一个名称)

    image.png

    这个界面就是显示在excel上的界面了

    image.png

    先对插件改名,然后设置插件的位置(这里没设置对,插件就不会显示出来的)


    位置:【开始】页面的最后面

  3. ControlId->ControlIdType=office   如果选择office,那么OfficeId仅内置标签中的一个,如果选择的是Custom,那么OfficeId就可以自定义了
    ControlId->OfficeId=
    内置的有下面这些ID:
    TabHome=开始
    TabInsert=插入
    TabPageLayoutExcel=页面布局
    TabFormulas=公式
    TabData=数据
    TabReview=审阅
    TabView=视图
    TabDeveloper=开发工具

    改完名字,可以启动插件看下效果image.png

    启动就崩了,小问题,我这里崩,你开发调试的时候也会崩,先终止启动


    托管调试助手“LoaderLock”在“C:\Program Files\Microsoft Office 15\Root\Office15\excel.exe”中检测到问题。
    
    其他信息: 正尝试在 OS 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起。

    image.png

    点击【调试】-【异常】

    image.png


    image.png


    取消【LoaderLock】勾,点击【确定】,重新启动插件。


    image.png


    启动后看到检查加载了,在【开始】的最后面,这是显示在内置的标签页面中


    ControlId->ControlIdType=office


    ControlId->OfficeId=TabHome


    Label=TabHome


    image.png


    image.png


    这是自定义效果


      ControlId->ControlIdType=Custom

      ControlId->OfficeId=Tab1

      Label=蜗牛插件



    image.png


    注意:启动调试的过程中,当你关闭office,就会终止调试


    给默认的group 改名为:蜗牛的小工具


    创建单选控件(CheckBox)


    image.png

    这里就做护眼模式的功能吧,双击护眼模式,进入事件代码

    image.png



  4. 第三步,绑定事件,写代码


  5. Excel.Application xlsApp = (Excel.Application)Globals.ThisAddIn.Application;
    
    //防止闪屏-禁止刷新
    xlsApp.ScreenUpdating = false;
    
    //默认设置浅绿色
    xlsApp.ActiveSheet.Cells.Interior.ColorIndex = 35;    
    
    xlsApp.ActiveSheet.Cells.Borders.LineStyle = 1;
    
    //防止闪屏-恢复刷新
    xlsApp.ScreenUpdating = true;


    image.png


至此,一个简单的excel插件开发完成

当然,这仅仅是开发过程中冰山一角,还有很多问题都需要处理的("用户自由设置配色?是否将护眼颜色保存到表格中?是否保留用户开关的设置?等等.......")


我写好的成品功能:护眼模式+十字架
成品下载地址:https://arvinhk.com/tools/ExcelHelperV1.0.2.0.zip

效果:
image.png

插件安装过程:
image.png
image.png
image.png
评论列表337条评论
访客1212
访客1212回复 111
访客
访客回复 1
默默
默默回复 博主你好,贵站友情链接中,原网站 徐志摩文集 www.cadps.com 现在已修改为:技术日志 https://www.cadps.net 望贵站给予修改。
默默
默默回复 博主你好,贵站友情链接中,原网站 徐志摩文集 www.cadps.com 现在已修改为:技术日志 https://www.cadps.net 望贵站给予修改。
IMJMJ
IMJMJ回复 好?收藏....
发表评论
新浪微博
微信