参考资料:
VSTO添加右键菜单:
VSTO 为Office已有右键菜单添加自己的菜单项(word,Excel)_tianyu0910的博客-优快云博客
C++使用office类型库添加右键菜单:
在 Office 系列软件中创建 COM 插件工具条,并实现工具条上的弹出菜单 - azhisoft - C++博客
C++实现office插件:
C++开发Office插件:实现Word插件_Cynhard85的博客-优快云博客_c++ word 插件
Word的COM加载项开发指南:
VSTO自定义UI:
VSTO之旅系列(三):自定义Excel UI - Learning hard - 博客园
VSTO Office二次开发对PPT自定义任务窗格测试 - SanMaoSpace - 博客园
https://www.cnblogs.com/qianyaoyuan/archive/2013/04/13/3018109.html
RibbonX:
https://blog.youkuaiyun.com/nodeman/category_7214804.html
捕获office事件:
谈如何捕获OFFICE软件的事件 _wallimn的博客-优快云博客
开发OFFICE插件总结 - 迷宫の未来的小窝 - C++博客
VSTO捕获PPT事件:
谈如何捕获OFFICE软件的事件 _wallimn的博客-优快云博客
如何查看office事件的DISPID:
如何查看office事件的DISPID_zero_226的博客-优快云博客_查看office 的 dispid 大全
1.使用VSTO开发插件
如果在开发前需要验证实现是否达到预期效果,可以使用VSTO进行快速验证。
1.1创建VSTO工程
确保已经在Visual Studio installer中安装Office/SharePoint开发
也可以直接打开下面工程,编译后按F5运行
功能如下:
2.使用类型库实现PPT的交互
2.1向指定位置插入幻灯片
其他功能与上述流程差异不大,在PptMgr中有两个公有的函数InsertPicture和InsertSlide,直接使用即可,如果要实现插入文字,可参考压缩包的工程和InsertPicture流程
3.插入右键菜单项
在插入菜单项前,首先要知道目标菜单的名称,如果不清楚,可以使用以下代码,功能是对所有菜单插入一个以自身菜单名命名的菜单项,这是比较旧以前写的代码,AddBackMenuBarButton函数与现在的有点差异,但逻辑没变。