我开发了一个 PPT 插件!支持批量添加图片标题,复制粘贴位置、批量图片对齐!

image

对 PPT 积怨已久 😮‍💨:

💔 不能添加图片标题:图片没法像 word 一样直接添加图片标题,只能手动插入文本框,对齐半天还歪七扭八!

💔 不能复制元素的位置粘贴给另一个元素:不同页 PPT 的类似元素要保持同一个位置,只能复制粘贴再修改,无法直接复制粘贴位置

💔 不能图片批量对齐: 插入多张图片后,想要整齐排列?要么一张一张手动拖动,对齐到天荒地老!要么先一列列水平对齐再垂直对齐

之前尝试过写宏代码,但是发现宏代码只能一个 ppt 文件用,使用很麻烦,就想着开发一个 PPT 插件。调研后发现主流是使用 VSTO (Visual Studio Tools for Office)进行开发,可以可视化添加组件。

在 AI 的帮助下,我就花了一晚上时间,就把这些“梦寐以求”的功能都开发完了!开发完真的成就感满满!

本着开源的精神,这个插件也在 Github 上开源了,欢迎大家给我点小星星!

Github 地址:https://github.com/Achuan-2/my_ppt_plugin

这篇笔记记录了自己开发插件的笔记,分享给有需要的朋友。

功能

  • 批量添加图片标题:支持选中图片后,批量在图片下方添加居中图题,添加图题之后图片和图题自动编组

    PixPin_2025-01-10_00-52-28

    • 实现方法:在图片正下方添加文本框,文本框的宽度为图片宽度大小,文字默认居中
  • 复制位置和粘贴位置:可以复制某个元素的位置,粘贴给另一个元素,可以用来让不同页的 PPT 的某个元素位置一致,或者让同一页的不同元素都是一个位置

  • 复制和粘贴图片宽高:统一图片宽高

  • 图片自动对齐:可以自动对齐图片,可以设置每列多少张图片、列间距多少、行间距多少(默认为空,为列间距大小)、图片宽高

    PixPin_2025-01-10_00-52-32

安装方法

下载本插件 Github 页面 Release 中的 Achuan.PPT.zip,解压,双击 setup.exe 安装即可

开发笔记丨如何制作一个 PPT 插件:使用 VSTO 制作

一、安装 Visual Studio

  • VSTO (Visual Studio Tools for Office) 是 Visual Studio 的一部分,因此首先需要安装 Visual Studio。

  • 建议安装 Visual Studio 2022 或更高版本,以获得最佳的开发体验和最新的功能支持。

  • 在安装过程中,确保选择 “Office/SharePoint 开发” 工作负载。这会安装 VSTO 所需的组件。

    PixPin_2025-01-09_23-53-56

二、开发

1. 创建项目

  • 在 Visual Studio 中,选择“创建新项目”。

    PixPin_2025-01-09_19-58-58

  • 选择“PowerPoint VSTO 外接程序(C#版本)”模板。

    PixPin_2025-01-09_19-59-45

  • 为项目命名并选择存储位置。

    PixPin_2025-01-09_20-01-42

  • 点击“创建”。

2. 创建后存在的文件

ThisAddIn.cs: 这是外接程序的入口点。您可以在这里处理外接程序的启动和关闭事件,以及与 PowerPoint 应用程序的交互。

3. 新建 Ribbon1.cs

Ribbon1.cs: 如果您需要自定义 PowerPoint 的 Ribbon 界面,此文件将包含 Ribbon 设计器和相关代码。

新建方法

  • 添加-新建项

    PixPin_2025-01-09_20-03-33

  • 显示所有模板,选择【功能区(可视化设置器)】,点击添加

    PixPin_2025-01-09_20-04-44

    PixPin_2025-01-09_20-04-14

  • 文件新建后,出现可视化功能区控件

    PixPin_2025-01-09_20-05-28

  • 【搜索】添加【属性窗口】

    PixPin_2025-01-09_20-08-02

    可以用来更改 tab/按钮等的标签、图标等配置

    PixPin_2025-01-09_20-10-51

  • 【搜索】添加【工具箱】

    PixPin_2025-01-09_20-09-46

    可以用来拖动控件,比如 Button 按钮、Menu 等功能

    PixPin_2025-01-09_20-14-01

    比如拖动两个 Button 到 Group1 里

    对 Button 进行双击,则可以新建 click 回调,写实际的按钮功能

    PixPin_2025-01-09_20-44-43

  • 设计完样式

    PixPin_2025-01-10_00-41-47

3. 编写代码

Ribbon1.cs 模板:使用下面模板,之后再补充添加函数和回调。

using Microsoft.Office.Tools.Ribbon;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using PowerPoint = Microsoft.Office.Interop.PowerPoint;
using Office = Microsoft.Office.Core;
using System.Windows.Forms;

namespace my_ppt_plugin
{
    public partial class Ribbon1
    {
        PowerPoint.Application app; //实例化PPT
        private void Ribbon1_Load(object sender, RibbonUIEventArgs e) //插件加载事件
        {
            app = Globals.ThisAddIn.Application; //实例化PPT对象
        }
    }
}

三、打包和部署

1. 发布

  1. 首先,使用 Visual Studio 打开您的 VSTO 项目,将其设置为 Release 模式,并点击“生成->生成解决方案”。

    PixPin_2025-01-10_00-37-41

    PixPin_2025-01-10_00-38-06

  2. 接下来,选择“生成->发布 [项目名称]”,这将启动发布向导。请按照向导提示操作。

    PixPin_2025-01-10_00-04-37

  3. 建议您将发布文件路径设置为与项目根目录同级的“publish”文件夹,以便于整理发布文件。

    PixPin_2025-01-10_00-38-39

  4. 发布的文件

    PixPin_2025-01-10_00-39-06

2. 安装程序

点击 setup.exe 安装

  • PPT
    8 引用 • 18 回帖
1 操作
Achuan-2 在 2025-01-10 02:48:12 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • hogcity

    有成品,还有开发教程,楼主太棒了!希望思源的插件越来越丰富!