onenote CAS总结⑧:Onetastic协同

原创 小斯  2021-02-07 20:46 

onenote本身很强大,可惜的是,它在office家族中被定位成一个异类,而且倍受歧视。例如,被office2019踢出桌面版;不支持VBA;VSTO中也没份……

不支持VBA,让onenote在自定义扩展上变得极为麻烦。尽管后来出现一款类似于VBA的插件Onetastic,但和VBA比起来,功能和效率上均差距悬殊。但对于一款个人开发的插件而言,做到Onetastic这个程度已经很不错了。Onetastic确实能在很多方面、较大程度上扩展onenote的功能。

1

Onetastic是私人而非官方插件

Onetastic开发者Omer Atay,他是onenote项目开发团队的成员之一,利用业余时间开发出Onetastic。所以,Onetastic其实是一款纯私人性质的插件,和官方其实并无关系。

2

Onetastic基本功能介绍

去官网下载插件,安装完成后打开onenote,在“开始”选项卡下就会出现Onetastic功能区。选择需要的宏脚本运行即可。

插件的可视化功能做的不错,参考Onetastic官网的教程,很容易上手。

Onetastic默认已经安装了一些常用脚本,例如最典型的“查找替换”功能。onenote作为一款电子笔记本软件,竟然连替换这种最基础的功能都不支持,脑洞也是奇特。

Onetastic能在很多类似方面对onenote进行功能扩展。官网上分享了几百个脚本,很多常见功能都能找到。如果你的定制要求不高,官网脚本基本够用;如果要求很高,可以考虑自己写。Onetastic提供的全部对象和函数加起来就那么一二十个,相比VBA简单太多了,要想掌握并不困难。

3

Onetastic内置对象与函数介绍

Onetastic内置对象的层级结构

Onetastic中提供的内置对象和方法虽然不多,但常用的基本都提供了,通过自由组合这些接口,已经能实现很多想要的功能。

在编程角度,需要重点了解的首先是下面这张层级结构图:

onenote CAS总结⑧:Onetastic协同 onenote 第1张

这张导图基本囊括了onenote中所有常用对象。图中的对象名称就是底层对象的规范名称,编程时可以直接使用。归根到底,整个Onetastic就是在对以上列出的这些对象的相关属性进行各种操作,并不复杂。

每个对象的具体属性,可参考官网的API文档。

Onetastic内置函数简介

主要函数是以下四大类:数组、对话框、对象、字符串。每类下面平均十来个函数,功能都很简单。

剩下的四类很简单,分别是:颜色、数据存储、宏执行、日期/时间。前三类每类下面就一两个特定函数,时间函数虽然一大串,但其实就是日期时间的各种不同格式和位置而已。

这些内置对象和函数,开发者偶尔还会进行一些小更新。整体来说,这几年的更新不大。

4

Onetastic最大的缺点

Onetastic提供的对象与方法虽然不算多,但也基本够用。Onetastic的主要缺陷不在于功能的多少,而在于运行效率上。

大概谈谈我的使用体验。

Excel中,VBA处理数万级别数据那是很轻松的事,十万级别也不在话下。但Onetastic在运行效率上完全不是一个级别,处理几百个对象就已经够呛了。

Onetastic中,运行慢还不是最难忍受的,更让人抓狂的是,运行时,在长时间的未响应状态下,你无法确定它到底是还在运行,还是已经彻底死机了。换句话说,运行一个脚本,可能在等待很长时间后,才发现它死机了。这种时间消耗得相当窝囊。

结论是,Onetastic绝对是可用的,但是注意限制数据量。数据量过大时,最好分次进行处理,否则它可能会让你很难受。

5

脚本分享通用说明

目前,小斯想已经陆续分享了十多个我个人比较常用的脚本,有需要的可以拿去试试。公众号“小斯想”回复“onenote”即可查看相关资源。

脚本文件说明与使用

分享的这些脚本,一部分是在网友分享脚本的基础上进行改写而成,一部分是完全按照自己的需求写的。这些脚本均为我个人比较常用的功能,但每个人的使用场景不同,我常用的并不一定也适合你,选择需要的用。

写脚本时,以实现功能为主要目的,如无必要,不会花更多精力去优化代码。

分享的脚本文件是xml代码文件,全选粘贴进Onetastic编辑器的“Edit XML”中,应该直接能用。

另外,本站分享的每个脚本,只能保证在我这儿是正常运行的。至于会不会有版本上的冲突或其他问题,这个就难说了。毕竟,这种私人开发的插件,存在什么Bug说不清楚,如果有问题,自行折腾一下,毕竟代码并不复杂。

用前必读注意事项

1、正式使用前,强烈建议先在你的草稿笔记本中测试一下,看是否是你想要的效果,确定后再使用。因为有些宏,运行完成后,是不能通过Ctrl+Z撤销的。

2、Onetastic可能存在一些未知Bug,导致一向正常的脚本在某些情况下无法正常运行。这种情况,有可能是笔记内容某些格式不规范(Onetastic认为)导致,但Onetastic的错误提示一般相当含糊,通常无法直接帮助你找到原因。这个时候,只有靠自己的经验去排查。

3、个人的测试范围有限,若细节上存在问题,请根据具体情况自行完善。

本文地址:http://cas01.com/7340.html
关注我们:请关注一下我们的微信公众号:扫描二维码小斯想的公众号,公众号:cas01
温馨提示:本站发布的压缩包如需密码解压,若无特别说明,密码统一为:cas01.com
版权声明:本文为原创文章,版权归 小斯 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

  1. 好好学习
    好好学习 【LV1】 @回复

    你好,请教一下,OneNote中使用surface pen书写的墨迹,OneNote默认将墨迹视为绘图,选中墨迹可以右键将它改成视为手写,只有手写的墨迹才能装进笔记容器里面,所以你知道有什么办法将墨迹默认视为手写吗??

    • 小斯
      小斯 【LV4】【站长】2021-06-16 at 10:35  回复

      @好好学习手写用的少,不清楚能不能设置。但我这边桌面版默认就是手写

  2. Alien
    Alien 【LV1】 @回复

    很有收获,但没太明白协作相关的功能在哪里?

    • 小斯
      小斯 【LV4】【站长】2021-05-15 at 19:11  回复

      @Alien什么协作?