VBA PowerPoint | VBA教程创建Powerpoint演示文稿

Excel VBA PowerPoint

使用VBA,我们可以自动化PowerPoint的工作,但是首先要使用VBA代码或代码片段在Powerpoint中工作,首先要通过PowerPoint中的安全性选项启用所有宏,然后才能对PowerPoint中的宏使用PowerPoint VBA参考微软幻灯片软件。

VBA的优点在于,我们可以引用其他Microsoft产品,例如“ Microsoft Word”和“ Microsoft PowerPoint”。我们通常在excel中创建报告,然后创建PowerPoint演示文稿。所有的excel用户通常会花费大量的时间从excel数据和报告中准备演示文稿。如果您花费大量时间准备PowerPoint演示文稿,则本教程将向您展示如何使用VBA编码从excel本身创建PowerPoint演示文稿。

启用Powerpoint对象模型

步骤1: 打开VBA编辑器,然后转到“工具和参考”。

第2步: 现在,您将看到对VBA项目的所有引用。向下滚动并选择“ Microsoft PowerPoint 15.0对象库”。

第三步: 单击确定。现在,我们可以从excel访问PowerPoint。

VBA教程创建PowerPoint演示文稿

我们可以通过两种方式创建PPT,一种是使用“早期绑定”,另一种是使用“后期绑定”。我们将向您展示如何通过创建PowerPoint演示文稿 使用“早期绑定”技术.

您可以在此处下载此VBA PowerPoint Excel模板– VBA PowerPoint Excel模板

通常,从excel中,我们根据图表和图表的解释准备演示文稿。为此,我在同一工作表中创建了一些简单的excel图表和解释。

步骤1: 在vba中启动子例程。现在要访问PowerPoint,我们已经在前面的步骤中启用了PowerPoint对象模型,现在要访问它,我们需要将变量声明为PowerPoint.Application。

代码:

 Sub PPT_Example()将PPApp变暗为PowerPoint.Application End Sub 

第2步: 要将演示文稿添加到PowerPoint,我们需要将变量声明为PowerPoint.Presentation。

代码:

 作为PowerPoint的PPP暗淡演示文稿

第三步: 将演示文稿添加到PowerPoint之后,我们需要添加幻灯片。将该变量声明为PowerPoint.Slide

代码:

 暗淡的PPSlide作为PowerPoint.Slide

第4步: 将幻灯片添加到PowerPoint后,我们需要使用PowerPoint中的形状,即文本框。将变量声明为PowerPoint.Shape

代码:

 暗淡的PPShape作为PowerPoint.Shape

步骤5: 现在,要访问工作表中的所有图表,我们需要将变量声明为Excel.ChartObjects。

代码:

 昏暗PPCharts作为Excel.ChartObject

好了,开始这些程序就足够了。

步骤6: 现在,我们需要从excel启动PowerPoint。由于它是一个外部对象,因此我们需要将其设置为新的PowerPoint。

代码:

 设置PPApp = New PowerPoint.Application

这将从Excel启动新的PowerPoint。

步骤7: 现在,变量PPApp等于我们启动的PowerPoint。现在,使此PowerPoint可见并最大化窗口。

代码:

PPApp.Visible = msoCTrue PPApp.WindowState = ppWindowMaximized

此时,只需使用F5键或手动运行代码,您应该会看到PowerPoint应用程序已启动,如下图所示。

步骤8: 现在,我们需要向已启动的PowerPoint应用程序中添加演示文稿。

代码:

 设置PPPresentation = PPApp.Presentations.Add

现在,我们应该看到这样的PowerPoint演示文稿。

步骤9: 添加演示文稿后,我们需要添加一张幻灯片。

代码:

 设置PPSlide = PPPresentation.Slides.Add(1,ppLayoutTitleOnly)

现在,这将添加标题幻灯片,如下所示。

步骤10:现在,工作表中有多个图表,我们需要遍历每个图表并将其粘贴到演示文稿中。下面是复制,粘贴图表以及解释的代码。

以下是为您提供的完整代码。

 Sub PPT_Example()Dim PPApp作为PowerPoint.Application Dim PPPresentation作为PowerPoint.Presentation Dim PPSlide作为PowerPoint.Slide Dim PPShape作为PowerPoint.Shape Dim PPCharts作为Excel.ChartObject Set PPApp = New PowerPoint.Application PPApp.Visible = msoCTrue PPApp.WindowState = ppWindowMaximized'添加演示文稿集PPPresentation = PPApp.Presentations.Add'在Excel中的每个图表中循环并针对ActiveSheet.ChartObjects PPApp.ActivePresentation.Slides.Add PPApp.ActivePresentation.Slides.Count + 1,ppLayoutText中的每个PPCharts粘贴到PowerPoint中PPApp.ActiveWindow.View.GotoSlide PPApp.ActivePresentation.Slides.Count设置PPSlide = PPApp.ActivePresentation.Slides(PPApp.ActivePresentation.Slides.Count)'将图表复制并粘贴到Powerpoint PPCharts中。选择ActiveChart.ChartArea.Copy PPSlide.Shapes .PasteSpecial(DataType:= ppPasteMetafilePicture)。选择'将标题添加到幻灯片PPSlide.Shapes(1).TextFrame.TextRange.Text = PPCharts.Chart.ChartTitle.Text' hart PPApp.ActiveWindow.Selection.ShapeRange.Left = 15 PPApp.ActiveWindow.Selection.ShapeRange.Top = 125 PPSlide.Shapes(2).Width = 200 PPSlide.Shapes(2).Left = 505'如果InStr(PPSlide .Shapes(1).TextFrame.TextRange.Text,“区域”)然后是PPSlide.Shapes(2).TextFrame.TextRange.Text = Range(“ K2”)。Value和vbNewLine PPSlide.Shapes(2).TextFrame.TextRange .InsertAfter(Range(“ K3”)。Value&vbNewLine)'否则,如果图表是“可再生”消耗图表,则输入适当的注释ElseIf InStr(PPSlide.Shapes(1).TextFrame.TextRange.Text,“月“)然后PPSlide.Shapes(2).TextFrame.TextRange.Text = Range(” K20“)。Value&vbNewLine PPSlide.Shapes(2).TextFrame.TextRange.InsertAfter(Range(” K21“)。Value&vbNewLine) PPSlide.Shapes(2).TextFrame.TextRange.InsertAfter(Range(“ K22”)。Value&vbNewLine)结束如果'现在,让我们更改标注框PPSlide.Shapes(2).TextFrame.TextRange.Font的字体大小。大小= 16下一个PPCharts结束子