hello,大家好,我是似最初

一名不着调的PPTer

谈起PPT插件,几乎现在已经被@只为设计巨佬开发到天花板了

所以作为小白,只能简单和大家共同探讨一下如何做一款独属的PPT导航插件。

诸如下面这款(注:非本人开发)

废话不多数,直接进入主题。

01、部署开发环境

VSTO插件的获取,网络搜索Visual Studio 2022或点击:

https://visualstudio.microsoft.com/zh-hans/downloads

进行下载,目前最新版本为2022,选择下载免费社区版,下载完成后,进入下一步进行安装。

由于VSTO的全套包安装大概有40多G,因此在安装时按照自己需求选择安装即可,下面借用@只为设计的一张安装图,我们选择office/sharepoint开发,至于开发语言,可以选择VB或C#,这里我们选择VB。

安装完成后后,打开大概是这个样子的。

开发软件:Visual Studio 2022

调试对象:MS office(PPT)

开发语言:VB/C#

02、创建PPT外接程序

完成第一步,我们就具备了开发一个插件的环境基础,接下来就是创建外接程序。

第一步:选择创建新项目。

03、创建PPT外接程序

如下图所示,选择开发语言为VB(如果有c#开发经验也可选择C#),开发平台为Windows,项目类型为office,这样方便我们快速找到 powerpoint Vsto外接程序 ,点击创建。

04、配置新项目

配置新项目信息,主要为项目名称,如下图的PPTdesk,文件存储位置,以及框架,记得勾选将解决方案和项目放在同一目录,便于后期管理。

05、认识开发界面

创建完成后,即可看到如下的开发界面,上面菜单栏不做介绍,简单说下左边导航栏,主要用到工具栏里面的控件以及快速打开最近访问文件,右边为方案结构,右下为窗体及控件的属性栏,这里比较常用。

06、创建功能区(可视化设计)

如图,点击项目名称,右键添加项目,选择新建项目,找到功能区(可视化),点击添加。

来到可视化功能设计界面,可以看到Ribbon、Tab、Group,它们分别对应office里面的菜单容器、菜单组、功能区,其中我们主要在Group里面添加功能,也就是我们后面要说的控件。

我们将鼠标放到上图中tabaddin即可在右下角属性页里面看到上面的属性值,其中label即是名称,如下图,将鼠标放到上面即可在下方弹出说明,我们修改为@似最初 然后发现可视化功能区的名称已经发生改变。

同理,点击Group1,即可在属性页里面修改Group1的label值,这里我修改为了商用素材。

07、添加全局代码

新建模块,同上,右键,添加新建项,选择模块,添加,进入Module1.vb里面,添加如下代码:

Module Module1

Public app As PowerPoint.Application = Globals.ThisAddIn.Application

End Module

这句代码的大意是将此加载项定义为PPT加载项,并赋值给app这个全局变量,app可以修改,比如自己改为xpp也行,至于PowerPoint.Application,如果是excel或word,改为相应的应用名称即可。

08、添加控件按钮

回到可视化功能区设置界面,点击左上角的工具箱,可以发现里面有很多控件,可以将鼠标放到名称上,即可看到说明,这里我们先使用button按钮进行测试。将button 按钮拖到Group1中,同样点击button1即可在右下角属性中修改其内容,这里我改为弹出对话框。

双击刚才的按钮,即可进入代码编辑区,这段代码的意思是点击button1的触发效果,在其包裹的sub里面输入msgbox (“测试内容”),这句代码很简单,就是弹出“测试内容”这么一个提示框。

09、初步测试

上面步骤完成后,就可以检测是否已经连接到PPT了,我们点击菜单栏中的启动进行调试,记得选择为debug模式。

打开PPT,发现刚才的tab和测试按钮已经在PPT菜单栏当中,我们点击弹出对话框,已经可以得到想要的效果。

10、创建网址导航

终于来到最简单的一步了,下面我们要做的就是添加自己的网址导航按钮了,为了说明几个控件的使用,我要重新创建一个group。

回到可视化功能区,点击工具箱,找到groub控件,拖拽到tab里面,并改名lable为资源库,同理,拖动button控件至资源库里面,改名为PP导航,如果想要下拉效果,可以先放置menu控件,再往里面放按钮即可,其他控件效果自行尝试。

双击刚才建立的PP导航按钮,进入代码页面,添加代码:System.Diagnostics.Process.Start("https://ppask.cn")

这句代码的意思是打开网址:https://ppask.cn 。

到这里,我们想要实现的导航效果已经可以了,再次打开调试,就会发现现在已经能够打开网站。

11、按钮美化

这步,主要是为我们的按钮添加图标,回到可视化设计页面,单击按钮,找到属性中外观一类,选择ContorSize即可为按钮设置图标尺寸,这里主要有大小两种,效果请自行查看PPT菜单栏。

选择Image右边的三个点,即可进入添加图标,根据自己需要导入图片即可。

到这里,大家就可以完全做一个属于自己的导航插件了,只需要重复10步骤以后,添加自己喜欢的网址即可,我们看一下效果。

最后一步,就是发布,如果我们要将插件给其他人使用,只要把debug改为release,然后点击生成菜单中的发布即可得到VSTO安装包,将安装包发给别人就能使用了。

VSTO | 零基础开发个人专属PPT导航插件相关推荐

  1. 小程序的 HelloWord 01《 程序员变现指南之 微信QQ 小程序 真的零基础开发宝典》

    本系列教程是针对粉丝的变现教程,还不是粉丝的可以关注我并且到社区:https://bbs.csdn.net/topics/603436232 进行打卡,不是老粉的也可以获取最终的技术变现学习,最终还有 ...

  2. React + Redux + Express + Mongodb 零基础开发完整大型商城网站视频教程(97 个视频)

    React + Redux + Express + Mongodb 零基础开发完整大型商城网站视频教程(97 个视频) mern 架构零基础开发完整电商网站 React + Redux + Expre ...

  3. 小程序获取头像试试水 02《 程序员变现指南之 微信QQ 小程序 真的零基础开发宝典》

    本系列教程是针对粉丝的变现教程,还不是粉丝的可以关注我并且到社区:https://bbs.csdn.net/topics/603436232 进行打卡,不是老粉的也可以获取最终的技术变现学习,最终还有 ...

  4. html5游戏开发-零基础开发RPG游戏-开源讲座(四)

    了解上三篇的内容请点击: html5[color=rgb(68, 68, 68) !important]游戏开发-零基础开发RPG游戏-开源讲座(一) http://www.html5cn.org/a ...

  5. html5游戏开发-零基础开发《圣诞老人送礼物》小游戏

    开言: 以前lufy前辈写过叫"html5游戏开发-零基础开发RPG游戏"的系列文章,在那里面我学习了他的引擎以及了解了游戏脚本.自从看了那几篇文章,我便对游戏开发有了基本的认识. ...

  6. Android零基础开发到项目实战

    Android零基础开发到项目实战(目录) 前言:本教程适合零基础学习安卓开发的伙伴,下面是目录,本博主会每天定时更新每一章节的教程,未完..... 一.Java基础阶段 day01_Java语言概述 ...

  7. 零基础开发 Node.js Addons 插件:参数与返回值处理

    上一篇回顾 零基础开发 Node.js Addons 插件:Hello Node-API.本篇介绍使用 Node-API 为 Node.js 开发基于 C 的 Addons 时,如何接收与处理 Nod ...

  8. 【转载】salesforce 零基础开发入门学习(四)多表关联下的SOQL以及表字段Data type详解...

    salesforce 零基础开发入门学习(四)多表关联下的SOQL以及表字段Data type详解 建立好的数据表在数据库中查看有很多方式,本人目前采用以下两种方式查看数据表. 1.采用schema ...

  9. html5游戏开发-零基础开发RPG游戏-开源讲座(三)-卷轴对话实现

    前两篇,RPG的开发已经实现了添加地图和添加游戏人物,本篇来实现地图的卷轴滚动和人物对话的实现,效果如下 想要了解前两篇内容,请电击下面的链接 html5游戏开发-零基础开发RPG游戏-开源讲座(一) ...

最新文章

  1. k8s实战之数据卷(volume)
  2. 11g RMAN Restore archivelog用法
  3. c#,Halcon_HObject双向转换HImage
  4. 透视大数据,未来市场谁主沉浮?这个4月,3W企服大数据OpenForm等你报名!
  5. 【Java进阶】Eureka讲解与应用
  6. C语言数组+冒泡排序
  7. 今天在海淀黄庄地铁站真实经历 写下来希望我的好友可以看一下!
  8. 球体表面积原来还可以这么求!
  9. TCPDUMP/LIBPCAP 3-PCAP's MAN手册(1)
  10. 优酷视频如何意见反馈?优酷视频怎么意见反馈
  11. Dual-polarity supply provides ±12V from one IC
  12. Entity Framework 实体框架的形成之旅--利用Unity对象依赖注入优化实体框架(2)
  13. ASP.NET MVC 利用Razor引擎生成静态页
  14. FileOutputStream输出流
  15. STM8S103之外部中断
  16. Android音频系统之音频基础
  17. python 判断每月最后一天_在Python中获取本月的最后一天
  18. 君莫笑系列视频学习(1)
  19. PS 2019 cc衣服换色+去白边
  20. 2021年全球及中国旅游产业发展现状及趋势分析[图]

热门文章

  1. 最老程序员创业札记:全文检索、数据挖掘、推荐引擎应用9
  2. Pytorch 常用损失函数拆解
  3. 初识EMC元器件(七)——差模电感的参数解读及选型应用
  4. 关于keil软件error:L6236E:NO section matches selector-no section to be FIRST/LAST的报错解决方法
  5. 2014.10.22项目2
  6. Python学习笔记Task11.魔法方法
  7. 瓜瓜打游戏(EASY) (计数dp
  8. 数据结构与算法 - 链表(java)
  9. 苹果备份与恢复_苹果恢复数据有哪些可以选择的途径?
  10. vue 下拉选是多选的,并且回显