插件是做什么的(插件流水线)

相信大家或多或少,

都曾经觉得做PPT有些过程太繁琐,

如果自己需要的设计能够一键生成那该多爽。

插件是做什么的(插件流水线)

本期就以下面这个封面生成器为案例,

从0到1分享一下PPT插件的制作过程。

插件是做什么的(插件流水线)

我觉得一个PPT插件它的目标一定是:

通过简单的操作,

帮助PPT完成复杂或者繁琐的任务。

插件是做什么的(插件流水线)

插件是做什么的(插件流水线)

PPT插件类型

从类型上看PPT插件分为三种:

插件是做什么的(插件流水线)

第一种是VBA插件,

它是直接在PPT里点出开发工具,

使用VB语言编写的,

我以前做的配色生成器,

就属于这种类型。

插件是做什么的(插件流水线)

第二种是联网插件,

官方名字叫Office Add-in。

它基本不涉及在本地设备中运行的代码

功能都放在网络上,

PPT只放一张皮。

在插入的【获取加载项】中能找到这类插件,

比如以前介绍过的pexels插件就属于这类,

它能够直接在PPT里搜图。

插件是做什么的(插件流水线)

第三种是COM插件,

它是遵循一定规范编写的程序,

可以在本地设备中运行,

以便给PPT提供额外的功能,

这也是本期视频介绍的插件类型。

插件是做什么的(插件流水线)

PPT插件技术翻译

让我们再来回顾一下目标:

插件是希望通过简单的操作

帮助PPT完成复杂或者繁琐的任务。

插件是做什么的(插件流水线)

这里介绍一些工具,

可以帮助我们实现这个目标。

首先Visual Studio是一个集成开发环境,

它能帮助我们简便地编辑代码

建立界面设计和代码的联系。

插件是做什么的(插件流水线)

里面的VSTO工具,

Visual Studio Tools for Office,

专门用来帮助制作Office插件,

当然也包括PPT插件。

插件是做什么的(插件流水线)

最后,

复杂或者繁琐的任务怎么来做,

你需要讲给软件听,

并且能让它听懂,

它能听懂的语言是VB或者C#。

插件是做什么的(插件流水线)

说到这里,

从技术的角度让我们把目标翻译一下:

在集成开发环境Visual Studio中,

借助VSTO工具包,

使用C#语言,

指挥PPT完成某些任务。

插件是做什么的(插件流水线)

插件是做什么的(插件流水线)

HEIP插件设计

先说VS(Visual Studio)的安装,

要记住要勾选Office/SharePoint开发工具集,

这就我们刚才说的VSTO。

插件是做什么的(插件流水线)

安装完成后就可以创建项目了,

在【搜索模板】中直接输入VSTO,

找到PowerPoint VSTO外接程序并创建。

插件是做什么的(插件流水线)

这些是软件自动生成的代码。

插件是做什么的(插件流水线)

接下来设计一下界面

在解决方案上右键添加【新建项】,

选择【可视化设计器】,

出来了一个叫Ribbon的东西,

这其实就是PPT里的一个菜单。

插件是做什么的(插件流水线)

左侧工具箱中拖入一个Button。

插件是做什么的(插件流水线)

把名字改一下,

再把ControlSize从Regular切换为Large。

插件是做什么的(插件流水线)

并在Image属性中点击右侧的三个小点,

导入本地图片作为按钮图标。

插件是做什么的(插件流水线)

这就完成了一个简单的界面设计。

插件是做什么的(插件流水线)

如果这个时候我们点击启动,

VS会自动打开PPT,

PPT菜单中会出现我们刚刚做的界面。

插件是做什么的(插件流水线)

回到VS点击停止调试,

PPT会自动关闭。

目前这个界面只是一张皮,

我们需要几行代码让它和打开的PPT产生联系。

双击Ribbon进入代码界面,

顶上的using语句,

代表程序需要用到哪些命名空间,

因为我们需要操作PPT,

所以这里得添加一句:

using Microsoft.Office.Interop.PowerPoint;

插件是做什么的(插件流水线)

再加一句:

using Microsoft.Office.Core;

插件是做什么的(插件流水线)

我们可以用简短的单词,

比如PowerPoint替代长串的Microsoft.Office.Interop.PowerPoint。

插件是做什么的(插件流水线)

然后在 Ribbon1类的第1行,

声明一个PPT应用程序PowerPoint.Application变量命名为app。

插件是做什么的(插件流水线)

在Ribbon1的Load事件中添加语句:

app = Globals.ThisAddIn.Application

让插件一打开就获取目前PPT的控制权。

插件是做什么的(插件流水线)

通过这么几行代码,

真正了建立插件和PPT的联系。

接下来就可以给PPT安排任务了:

回到Ribbon的设计界面双击按钮,

进入它的单击事件。

插件是做什么的(插件流水线)

告诉它:

一点击就先获取一下页面目前的尺寸

然后让选中的图片铺满屏幕。

再插入一个全屏矩形,

随机生成一个比较暗的填充色。

把它填充为半透明。

再插入一个文本框,

写上白色大号文字,

让它处于页面中心。

以上任务都不涉及什么算法,

关键就是找到C#指挥PPT的语句,

因为PowerPoint是一个成熟的功能极多的应用程序,

所以指挥它的过程中必然会用到很多长名字的属性和方法。

我把代码贴在这里,

感兴趣的可以看看。

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;




namespace HEIP
{    
    public partial class Ribbon1
    {
        PowerPoint.Application app;
        private void Ribbon1_Load(object sender, RibbonUIEventArgs e)
        {
            app = Globals.ThisAddIn.Application;
        }


        private void button1_Click(object sender, RibbonControlEventArgs e)
        {
            float w = app.ActivePresentation.PageSetup.SlideWidth;
            float h = app.ActivePresentation.PageSetup.SlideHeight;
            PowerPoint.Slide slide = app.ActiveWindow.View.Slide;
            PowerPoint.Selection sel = app.ActiveWindow.Selection;
            PowerPoint.ShapeRange range = sel.ShapeRange;
            range[1].LockAspectRatio = Office.MsoTriState.msoFalse;
            range[1].Width = w;
            range[1].Height = h;
            range[1].Left = 0;
            range[1].Top = 0;
            PowerPoint.Shape shape = slide.Shapes.AddShape(Office.MsoAutoShapeType.msoShapeRectangle, 0, 0, w, h);
            Random rd = new Random();
            int r = rd.Next(0, 30);
            int g = rd.Next(10, 50);
            int b = rd.Next(20, 70);
            shape.Fill.ForeColor.RGB = r+g*256+b*256*256;
            shape.Fill.Transparency = 0.4F;
            shape.Line.Visible = Office.MsoTriState.msoFalse;
            PowerPoint.Shape txb = slide.Shapes.AddTextbox(Office.MsoTextOrientation.msoTextOrientationHorizontal, w / 4, h / 3, w / 2, h / 3);
            txb.TextFrame.TextRange.Text = "LAOHEI";
            txb.TextFrame2.TextRange.Font.Size = 96;
            txb.TextFrame2.TextRange.Font.NameFarEast = "微软雅黑";
            txb.TextFrame2.TextRange.Font.Name = "微软雅黑";
            txb.TextFrame2.TextRange.Font.Fill.ForeColor.RGB = 16777215;
            txb.TextFrame.TextRange.ParagraphFormat.Alignment = PowerPoint.PpParagraphAlignment.ppAlignCenter;
            txb.TextFrame.VerticalAnchor = Office.MsoVerticalAnchor.msoAnchorMiddle;
        }
    }
}

我将编好的程序封装好了,

换一台电脑打开PPT,

菜单栏目前是初始状态。

插件是做什么的(插件流水线)

安装插件之后重启PPT,

这里出现了HEIP可直接使用。

插件是做什么的(插件流水线)

安装文件已打包,

关注头条号【黑白间设计】,私信【HEIP】即可获取。

注意是:黑(HEI)~~P,不是HELP噢。

    
本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 cloud@ksuyun.com 举报,一经查实,本站将立刻删除。
如若转载,请注明出处:https://www.daxuejiayuan.com/17955.html