学习笔记

VSTO Office插件编程(审判助手)

by 猪皮怪, 2022-08-08


裁判文书编写过程中存在大量文字引用,当文书大致内容填充完毕后即可开始进行文字校对等细节处理工作。
当下亟待解决的问题是让文书输出流程最大程度自动化、简洁化。福清市人民法院刘坚先生开发的“民事审判助手”即是这样一款office插件程序。
以下是开发复现该插件过程中的学习笔记,该笔记借鉴了博客园的Justin Zhang用户所编写的“我的VSTO之路”系列。
Office插件的编写语言:Visual Basic/C#,我对VB不熟悉,且C#比VB强大得多,故该项目采用C#语言。

创建VSTO项目

开发环境

Visual Studio 2022
office对应版本或与编译器适配的版本(可使用Office Tool Plus安装激活)
……

创建环境

2022-08-08T01:31:21.png

Visual Studio 2022中,输入word关键词筛选word插件项目模板,如无该模板,请选择最下方“安装多个工具和功能”按钮,勾选office项目并安装。

  1. Word Web 外接程序(应用层):需要直接从Web获取相关数据显示在界面上的程序插件。
  2. Word VSTO 外接程序(应用层):普通Word插件程序,该项目用此模板编写。
  3. Word VSTO 文档(文档层):这种项目会生成一个“.docx”文件。
  4. Word VSTO 模板(文档层):这种项目会生成一个“.dotx”文件。

应用层创建的代码在每次Word启动的时候都会加载这个插件。
文档层创建的代码只有在运行这个特定Word文件的时候才会起作用。

添加自定义按钮

2022-08-09T06:47:08.png

2022-08-08T03:21:05.png

左侧工具箱中Office 功能区控件选择Button拖入设计窗口。
2022-08-08T03:24:24.png

选中该按钮,右侧属性窗口中更改相关数据, 现更改按钮名称及其Label属性。
2022-08-08T03:26:47.png

双击该按钮,进入逻辑编写窗口。
2022-08-08T03:29:14.png

F5启动后会自动开启Office程序
2022-08-09T06:53:34.png

点击后出现代码所实现的弹窗功能
2022-08-09T06:56:57.png

独占一个自定义Tab页

打开Ribbon设计页面,单击项目栏,在右侧项目属性窗口内设置如下内容。
更改ControlIdType为Custom,(Name)、ControlId、Label自定义。
2022-08-09T07:06:49.png

效果如下
2022-08-09T07:09:47.png

如果不想独占整条控件栏,可更改ConrolIdType为Office,并且更改OfficeID为TabHome。
2022-08-09T07:20:25.png

效果如下
2022-08-09T07:21:37.png

添加侧边栏

2022-08-09T07:30:56.png

键入代码
2022-08-11T03:14:48.png

效果
2022-08-11T02:47:41.png

用按钮控制TaskPane的显示

增加两个按钮
2022-08-11T03:16:05.png

分别键入两个按钮的功能代码
2022-08-11T03:16:56.png

none
猪皮怪

作者: 猪皮怪

2025 © typecho & esia.asia