【发布时间】:2015-02-18 10:52:43
【问题描述】:
我正在 Excel 中编写此 VBA 代码,它会在 powerpoint 文件中进行更改。除以下内容外,一切正常。 当我调用 FormatICTable 函数时,我得到一个运行时错误,即“类型不匹配”。在我看来,我作为第一个参数传递的那个形状对象正在造成问题。有什么建议吗?
Sub controlPPT()
Dim PPT As Object
Set PPT = CreateObject("PowerPoint.Application")
Dim pres As Presentation
With Application.FileDialog(1)
.AllowMultiSelect = False
.Show
.Filters.Clear
.Filters.Add "PPT files", "*.pptx"
.FilterIndex = 1
If .SelectedItems.Count > 0 Then
PPT.Presentations.Open .SelectedItems(1)
Dim sld As Slide
Set pres = PPT.ActivePresentation
For Each sld In pres.Slides
sld.Select
If sld.Shapes(1).TextFrame2.TextRange.Text = "Internal comparison" Then
Call FormatICTable(sld.Shapes(2), sld)
End If
Next
pres.Save
Set pres = Nothing
End If
End With
End Sub
Function FormatICTable(shp As Shape, sld As Slide)
'My code here
End Function
【问题讨论】:
标签: vba excel powerpoint