VBA错误“;预期函数或变量“;尝试设置PowerPoint幻灯片时

VBA错误“;预期函数或变量“;尝试设置PowerPoint幻灯片时,vba,excel,powerpoint,Vba,Excel,Powerpoint,我有以下代码- Option Explicit Sub main() Dim oPPTApp As PowerPoint.Application Dim oPPTObj As Object Dim oPPTFile As PowerPoint.Presentation Dim oPPTShape As PowerPoint.Shape Dim oPPTSlide As PowerPoint.Slide Dim oGraph As Graph.Chart Dim oAxis As Graph.

我有以下代码-

Option Explicit

Sub main()

Dim oPPTApp As PowerPoint.Application
Dim oPPTObj As Object
Dim oPPTFile As PowerPoint.Presentation
Dim oPPTShape As PowerPoint.Shape
Dim oPPTSlide As PowerPoint.Slide
Dim oGraph As Graph.Chart
Dim oAxis As Graph.Axis
Dim SlideNum As Integer
Dim strPresPath As String, strNewPresPath As String

strPresPath = "Location.ppt"
strNewPresPath = "Destination.ppt"

'instantiate the powerpoint application and make it visible
Set oPPTObj = CreateObject("PowerPoint.Application")
oPPTObj.Visible = msoCTrue

Set oPPTFile = oPPTObj.Presentations.Open(strPresPath)
SlideNum = 1

Set oPPTSlide = oPPTFile.Slides(SlideNum).Select
Set oPPTShape = oPPTSlide.Add(1, ppLayoutBlank)

oPPTSlide.Shapes.AddTextbox msoTextOrientationHorizontal, 10, 20, 300, 5

With oPPTSlide.Shapes(1).TextFrame.TextRange
    .text = "ALL BSE"
    .Font.Color = vbWhite
    .Font.Underline = msoFalse
End With

End Sub
我犯了一个错误

期望函数或变量

在以下行:

Set oPPTSlide = oPPTFile.Slides(SlideNum).Select 
任何帮助都将不胜感激

应该是

Set oPPTSlide = oPPTFile.Slides(SlideNum)
应该是

Set oPPTSlide = oPPTFile.Slides(SlideNum)

根据我上面的评论,您不能将
设置
选择
放在同一行(而且,几乎没有任何理由使用
选择
)。尝试设置oPPTSlide=oPPTFile.Slides(SlideNum)

但是,对代码进行了一些“升级”:

使用新创建的
形状直接设置
oPPTShape
,方法是:

Set oPPTShape = oPPTSlide.Shapes.AddTextbox(msoTextOrientationHorizontal, 10, 20, 300, 5)
然后,使用下面的
With
语句,轻松修改
oPPTShape
属性:

With oPPTShape.TextFrame.TextRange
    .text = "ALL BSE"
    .Font.Color = vbWhite
    .Font.Underline = msoFalse
End With

根据我上面的评论,您不能将
设置
选择
放在同一行(而且,几乎没有任何理由使用
选择
)。尝试设置oPPTSlide=oPPTFile.Slides(SlideNum)

但是,对代码进行了一些“升级”:

使用新创建的
形状直接设置
oPPTShape
,方法是:

Set oPPTShape = oPPTSlide.Shapes.AddTextbox(msoTextOrientationHorizontal, 10, 20, 300, 5)
然后,使用下面的
With
语句,轻松修改
oPPTShape
属性:

With oPPTShape.TextFrame.TextRange
    .text = "ALL BSE"
    .Font.Color = vbWhite
    .Font.Underline = msoFalse
End With

不要在同一行中设置
和选择,尝试设置oPPTSlide=oPPTFile.Slides(SlideNum)(几乎没有任何理由使用
选择
)。你的代码不需要它,它只会减慢你的运行时间。不要在同一行中设置和选择,尝试设置oPPTSlide=oPPTFile.Slides(SlideNum)(几乎没有任何理由使用
Select
)。你的代码不需要它,它只会减慢你的运行时间从你的答案中删除
Select
,这不是一个好的建议,在所有情况下都应该避免
Select
,从你的答案中删除
Select
,这不是一个好的建议,在所有情况下都应该避免
Select