以编程方式更新表示内容
您可以使用PPT API以编程方式更新现有PowerPoint中的内容®演示。
生成现有的演示文稿
此示例更新PowerPoint演示文稿中的内容myPresentation
.要生成表示,请运行示例以编程方式创建演示文稿.虽然您是通过编程方式创建演示文稿的,但在生成演示文稿之后,演示文稿与任何其他PowerPoint演示文稿一样。演讲包括四张幻灯片:
标题幻灯片上有标题
创建直方图
矢量的直方图
有标题的幻灯片
直方图可以做什么
直方图函数参数
若要使用PPT API以编程方式更新现有PowerPoint演示文稿中的内容,请:
通过命名要替换的内容对象来设置PowerPoint演示文稿。如果要添加新内容,请在表示形式中为该内容插入占位符。
在MATLAB®,导入
mlreportgen.ppt
PPT API包。创建一个
演讲
对象使用现有表示形式作为更新版本的模板。替换您想要更新的任何现有幻灯片内容。
添加幻灯片任何新的幻灯片。
生成演示文稿。
简报的更新
在本例中,使用PPT API对myPresentation
演示:
把第二张幻灯片上的图片替换掉。
替换掉第三张幻灯片上的文字。
把第四张幻灯片上的桌子放回原处。
在有图的幻灯片之前插入一张新幻灯片。
以下是更新后的演示:
设置现有的演示文稿
PPT API程序使用PowerPoint模板生成演示文稿。以编程方式更新现有PowerPoint演示文稿时,请将该演示文稿用作更新后的演示文稿的模板。中更新内容幻灯片
对象,使用PPT API。
打开
myPresentation
演示。在PowerPoint中,单击视图>正常的.查看幻灯片中内容对象的名称。在首页选项卡上,单击选择>选择面板.单击幻灯片中的内容时,选择窗格突出显示内容对象的名称。
重命名内容对象。在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);