主要内容

以编程方式更新表示内容

您可以使用PPT API以编程方式更新现有PowerPoint中的内容®演示。

生成现有的演示文稿

此示例更新PowerPoint演示文稿中的内容myPresentation.要生成表示,请运行示例以编程方式创建演示文稿.虽然您是通过编程方式创建演示文稿的,但在生成演示文稿之后,演示文稿与任何其他PowerPoint演示文稿一样。演讲包括四张幻灯片:

  • 标题幻灯片上有标题创建直方图

  • 矢量的直方图

  • 有标题的幻灯片直方图可以做什么

  • 直方图函数参数

在PowerPoint中生成的幻灯片

若要使用PPT API以编程方式更新现有PowerPoint演示文稿中的内容,请:

  • 通过命名要替换的内容对象来设置PowerPoint演示文稿。如果要添加新内容,请在表示形式中为该内容插入占位符。

  • 在MATLAB®,导入mlreportgen.pptPPT API包。

  • 创建一个演讲对象使用现有表示形式作为更新版本的模板。

  • 替换您想要更新的任何现有幻灯片内容。

  • 添加幻灯片任何新的幻灯片。

  • 生成演示文稿。

简报的更新

在本例中,使用PPT API对myPresentation演示:

  • 把第二张幻灯片上的图片替换掉。

  • 替换掉第三张幻灯片上的文字。

  • 把第四张幻灯片上的桌子放回原处。

  • 在有图的幻灯片之前插入一张新幻灯片。

以下是更新后的演示:

第二张幻灯片是直方图的描述。第三张幻灯片中的图是一个带有指定的bin边的直方图。第四张幻灯片列出了相关的函数。

设置现有的演示文稿

PPT API程序使用PowerPoint模板生成演示文稿。以编程方式更新现有PowerPoint演示文稿时,请将该演示文稿用作更新后的演示文稿的模板。中更新内容幻灯片对象,使用PPT API。

  1. 打开myPresentation演示。在PowerPoint中,单击视图>正常的

  2. 查看幻灯片中内容对象的名称。在首页选项卡上,单击选择>选择面板.单击幻灯片中的内容时,选择窗格突出显示内容对象的名称。

    选中“矢量直方图”幻灯片的PowerPoint常规视图,并在“选择”窗格中突出显示图片名称。

  3. 重命名内容对象。在ppt上选择窗格中,单击内容名称框中的,并将当前名称替换为所需的名称。使用这些唯一的名称更新内容对象。

    • 在第二张幻灯片中,改变标题对象名称柱状图图片对象名称HistBins

    • 在第三张幻灯片中,改变标题RelatedFuncs.改变内容FuncList

    • 在第四张幻灯片中,改变表格ParamTable

导入PPT API包

所有PPT API类名都包含前缀mlreportgen.ppt.为了避免在代码中包含前缀,请在PPT API程序的开头插入此语句。

进口mlreportgen.ppt。*

请注意

进口Line是示例程序中的第一行。此示例在节中创建PPT API程序,因此没有显示进口命令。要查看完整的程序,请单击myUpdatedPresentation程序

创建演讲对象

创建一个演讲对象。指定:

  • myUpdatedPresentation.pptx作为生成的表示的输出文件。

  • myPresentation.pptx作为PowerPoint模板。使用要更新的演示文件作为模板文件。

ppt =演示文稿(“myUpdatedPresentation.pptx”“myPresentation.pptx”);打开(ppt);

为输出文件指定不同的名称将保留原始表示形式。如果要覆盖现有表示,可以使用模板文件名作为输出文件的文件名。

更换图片

改变第二张幻灯片的标题。创建一个图片对象替换现有的图片。你可以使用找到方法。演讲对象来查找命名为HistBins而且柱状图(使用PowerPoint指定的唯一名称)。

histTitle =段落('带有指定Bin边的直方图');替换(ppt,“直方图”, histTitle);X = randn(1000,1);Edges = [-10 -2:0.25:2 10];H =直方图(x,边);saveas (gcf“hist_plot.png”);plotEdges =图片(“hist_plot.png”);替换(ppt,“HistBins”, plotEdges);

用链接替换文本

改变第三张幻灯片的标题。创建替换现有文本的文本。文本包含MathWorks的链接®在线文档。附加ExternalLink对象对象的单元格数组替换幻灯片内容对象。

funcsTitle =段落(的相关功能);替换(ppt,“RelatedFuncs”, funcsTitle);histCounts =段落();histCountsLink = ExternalLink...“//www.tatmou.com/help/matlab/ref/histcounts.html”“histcounts”);追加(histCounts histCountsLink);fewerbins =段落();fewerbinsLink = ExternalLink...“//www.tatmou.com/help/matlab/ref/matlab.graphics.chart.primitive.histogram.fewerbins.html”“fewerbins”);追加(fewerbins fewerbinsLink);替换(ppt,“FuncList”, {histCounts, fewerbins});

更换一张桌子

要创建表,请创建表格对象。在表格构造函数时,可以为表单元格指定单元格数组的值。要为顶部行获取粗体文本,请使用include对象作为单元格数组的前三个元素。然后把桌子换掉。

长=段落(“长名称”);长。粗体=真;短=段落(“短名称”);短。粗体=真;rgb =段落(“RGB值”);rgb。粗体=真;table2 =表({长,短,rgb;“黄色”“y”'[11 10 0]'“绿色”‘g’'[10 0 1] '});内容= find(ppt,“ParamTable”);替换(ppt,“ParamTable”表二);

插入新幻灯片

您可以使用PPT API在现有演示文稿中插入新幻灯片,并可以指定幻灯片的数值位置。例如,这段代码在演示文稿中的第五张幻灯片中制作了一张新幻灯片。

newSlide = add(ppt,“标题及内容”5);

但是,若要将幻灯片置于特定幻灯片之前,即使稍后添加或删除其他幻灯片,也可以指定参考幻灯片。若要在更新现有PowerPoint演示文稿时使用此方法,请使用PPT API命名参考幻灯片。插入新幻灯片时,请使用引用幻灯片的名称。

ppt.Children(2)。Name =“ReferenceSlide”;refSlide = find(ppt,“ReferenceSlide”);introSlide =添加(ppt,“标题及内容”, refSlide);内容= find(introSlide,“标题”);替换(内容(1),“直方图的阴谋”);introText =段落(你可以使用);代码=文本(“直方图”);代码。字体=“快递新”;追加(introText、代码);追加(introText'功能来创建多种类型的图。');内容= find(introSlide,“内容”);替换(内容(1)、introText);

生成并查看演示文稿

生成PowerPoint演示文稿。使用一个关闭方法。演讲对象。查看演示文稿。

关闭(ppt);rptview (ppt);

代码myUpdatedPresentation

下面是创建的完整的PPT API程序myUpdatedPresentation演示。

请注意

该代码要求myPresentation.pptx文件应放在当前文件夹中。要生成该表示,请运行示例以编程方式创建演示文稿.在运行的代码之前myUpdatedPresentation,确保现有表示包括中描述的更改设置现有的演示文稿

进口mlreportgen.ppt。*;ppt =演示文稿(“myUpdatedPresentation.pptx”“myPresentation.pptx”);打开(ppt);histTitle =段落('带有指定Bin边的直方图');替换(ppt,“直方图”, histTitle);X = randn(1000,1);Edges = [-10 -2:0.25:2 10];H =直方图(x,边);saveas (gcf“hist_plot.png”);plotEdges =图片(“hist_plot.png”);替换(ppt,“HistBins”,plotEdges) funcsTitle =段落(的相关功能);替换(ppt,“RelatedFuncs”, funcsTitle);histCounts =段落();histCountsLink = ExternalLink...“//www.tatmou.com/help/matlab/ref/histcounts.html”“histcounts”);追加(histCounts histCountsLink);fewerbins =段落();fewerbinsLink = ExternalLink...“//www.tatmou.com/help/matlab/ref/matlab.graphics.chart.primitive.histogram.fewerbins.html”“fewerbins”);追加(fewerbins fewerbinsLink);替换(ppt,“FuncList”, {histCounts, fewerbins});长=段落(“长名称”);长。粗体=真;短=段落(“短名称”);短。粗体=真;rgb =段落(“RGB值”);rgb。粗体=真;table2 =表({长,短,rgb;“黄色”“y”'[11 10 0]'“绿色”‘g’'[10 0 1] '});内容= find(ppt,“ParamTable”);替换(ppt,“ParamTable”表二);ppt.Children(2)。Name =“ReferenceSlide”;refSlide = find(ppt,“ReferenceSlide”);introSlide =添加(ppt,“标题及内容”, refSlide (1));内容= find(introSlide,“标题”);替换(内容(1),“直方图的阴谋”);introText =段落(你可以使用);代码=文本(“直方图”);代码。Style = {FontFamily(“快递新”)};追加(introText、代码);追加(introText'功能来创建多种类型的图。');内容= find(introSlide,“内容”);替换(内容(1)、introText);关闭(ppt);rptview (ppt);

相关的话题