办公问答网

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 108|回复: 2

OneNote(桌面版)插件开发(1)

[复制链接]

2

主题

6

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2023-2-14 17:02:27 | 显示全部楼层 |阅读模式
OneNote是一款深受欢迎的笔记软件,其分章节的结构特点非常适合记录课堂笔记,读书笔记和工作日志等。可惜的是,微软对OneNote似乎并不上心,OneNote二次开发相关的官方公开技术文档很少,远不能和Excel、Word、PowerPoint等软件相比;甚至Visual Studio的VSTO并不提供OneNote开发模板。这就造成OneNote的插件很少,耳熟能详的几款,比如,OneNote Gem、Onetasic等,核心功能都是收费的。怎样让OneNote使用更趁手?建议跟着本系列,学习一下插件开发。
1、准备工作


  • 安装Visual Studio 2019(社区版)。下载地址:Visual Studio: 面向软件开发人员和 Teams 的 IDE 和代码编辑器。Visual Studio 2019软件包体积庞大,可以选择少数几个功能包。
  • 安装Microsoft Visual Studio Installer Projects(2019版)。下载地址:Microsoft Visual Studio Installer Projects - Visual Studio Marketplace。如果上一步安装的是Visual Studio 2022,相应地,要安装Microsoft Visual Studio Installer Projects(2022版)
  • 以管理员身份启动Visual Studio 2019,检查工具菜单是否有一个“Create GUID”的按钮。如果没有,可以按下述步骤操作。选择Tools>External Tools,点击 Add按钮,创建一个标题是Create &GUID按钮,在Command标签处,添加guidgen.exe的地址,这个文件一般在%Installation Path%\Microsoft Visual Studio {Version Number}\Common7\Tools\guidgen.exe如下图所示。最后,点击OK按钮。



  • 本次开发选择的语言是C#, 如果不熟悉,可以参考:C# 文档 - 入门、教程、参考。或者,C# 教程 | 菜鸟教程
  • 由于OneNote文档的数据格式是xml,因此,在开工之前,建议了解一下XML,可以参考XML 教程 | 菜鸟教程。XPath是更改OneNote文档的利器,建议了解,可以参考XPath 教程 | 菜鸟教程
  • 安装OneNote 2013。OneNote桌面版主要是OneNote 2013和OneNote 2016,这两个版本有一些差异,为OneNote 2013开发的插件未必能在OneNote 2016上正常运行,反之亦然。
2、本次开发目标

本次开发是要创建一个OneNote菜单,如下。全部功能已实现(有需要整个工程文件的,请私信我)。



  • “新笔记页”。用户点击“新笔记页“,将在当前OneNote分区按照预设格式,创建一个笔记页面。预设格式包括:一个空白表格,若干文字。
  • “插入链接”   点击该按钮,用户输入outlook邮件的entryID,将在当前鼠标位置插入一个指向Outlook的标签(不是插入邮件,只是建立一个快捷方式)
  • “打开邮件”  点击该按钮,将根据OneNote中插入的邮件标签快捷方式,显示Outlook邮件内容。这个功能很实用,围绕同一件事儿,你可以在一个OneNote页面上,建立关键邮件快捷方式、文件链接、网页链接等,以便快速索引相关内容。
3、插件开发

3.1、创建工程  创建新项目,从创建一个类库开始,如下图。我们给新项目的取名是HelloWorld。工程创建好后设置工程属性,注意在程序集信息中勾选使程序集COM可见,在生成中勾选为COM互操作注册。


3.2、创建Ribbon配置文件 在这一步中,我们为工程添加一个叫ribbon的XML文件,它的作用,就是生成菜单Ribbon。当然,也可以叫其他文件名字。我们要将该配置文件存入工程资源以便运行时访问,然后写ribbon配置文件代码。
3.3、添加引用 为工程添加引用,主要是Extensibility,office、Microsoft OneNote 15.0 Type Library。
3.4、添加图标资源 为工程添加图标资源。
以上,撸代码前的工作全部就绪,下一期,我们一起撸代码。
回复

使用道具 举报

4

主题

6

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 2023-2-14 17:02:34 | 显示全部楼层
Office LTSC 2021里的桌面版应该更好些,好像自带了后面几个更新补丁,用了下中文搜索好了很多,只是感觉对onenote已经没什么兴趣了。
回复

使用道具 举报

0

主题

3

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2023-2-14 17:03:15 | 显示全部楼层
做插件,是为了用自己的方式使用onenote。onenote的用户群体还是比较大的,使用的人多少都有一些个性化需求。在网页版中做个性化插件是有官方教程的,但在桌面版没找到,所以有空就分享一下。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|办公问答网

GMT+8, 2025-3-15 17:46 , Processed in 0.102912 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc. Templated By 【未来科技 www.veikei.com】设计

快速回复 返回顶部 返回列表