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