【发布时间】:2017-06-17 11:51:15
【问题描述】:
我想知道如何从 Excel VBA(我已经有代码)创建一个新的 PPT,但在创建时看不到应用程序。我发现了一些见解,但它仅在打开现有的 PPT 文件时才有效,但我正在创建一个新文件。
Dim pptApp As PowerPoint.Application
Dim pptPres As PowerPoint.Presentation
Dim pptSlide As PowerPoint.Slide
Dim pptShape As PowerPoint.Shape
Dim excelTable As Excel.Range
Dim SlideTitle As String
Dim SlideText As String
Dim SlideObject As Object
Dim pptTextbox As PowerPoint.Shape
Dim SlideNumber As String
On Error Resume Next
Set pptApp = New PowerPoint.Application
Err.Clear
Set pptPres = pptApp.Presentations.Add
pptPres.PageSetup.SlideSize = ppSlideSizeOnScreen
【问题讨论】:
-
On Error Resume Next在这里 IMO 是一个特别糟糕的主意。如果您无法创建 PowerPoint 应用实例,您的代码应该退出,而不是像什么都没发生一样继续运行。 -
您能否edit 澄清一下代码 sn-p 到底是什么?是你试图让
pptApp隐形吗?还是从打开现有 ppt 文件的代码中摘录?因为该代码根本没有打开任何东西,而且似乎指定了.Visible = False,所以不清楚它如何与实际问题联系起来。 -
另外...您似乎引用了 PowerPoint 库(
As PowerPoint.Application确实 编译,对吗?) - 那么您为什么要延迟创建应用实例?只需Set pptApp = New PowerPoint.Application。 -
澄清一下,
Err.Clear与On Error GoTo 0不是相同。第一个只是擦除记录的错误 - 第二个实际上重新启用错误捕获。 -
谢谢。我编辑了我的代码。我需要有 On error Resume Next,因为我在幻灯片上粘贴了一些图片,如果没有该代码,它会给我一个错误,但它可以完美粘贴。现在,使用编辑后的代码,演示文稿仍然可见!
标签: vba excel powerpoint