检查当前幻灯片的编号

我已经做了一个macros,进入幻灯片,通过幻灯片迭代,如果幻灯片有一个图表,它打开它的Excel和改变一些值。

但是我在特定幻灯片编号上执行特定function时遇到问题,macros无法识别幻灯片编号,并对每张幻灯片执行相同的操作。

这里是不完整的代码(我只是没有添加,因为它可能太长):

'Iterate through slides For Each sld In PowerPointApp.ActivePresentation.Slides With sld.Shapes(1) If .HasChart Then Set oPPChart = .Chart Set oPPChartData = oPPChart.ChartData oPPChartData.Activate 'Set Excel objects Set oXlWb = oPPChartData.Workbook Set oXlApp = oXlWb.Parent Call CalcCopyPaste(oXlWb) Call DeleteColumnLastUsed(oXlWb) 'Remover headers Select Case OPCountry Case "US" 'Remover headers só! If sld = 8 Then Range("U5").Select Range(Selection, Selection.End(xlDown)).Select Selection.Cut Range("C3").Select ActiveSheet.Paste Else Range("S3").Select Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlDown)).Select Selection.Cut Range("S1").Select ActiveSheet.Paste End If End Select oXlWb.Windows(1).Visible = False oXlApp.Visible = False End If End With Next sld 

所以对于第8张幻灯片,它应该做一些特定的事情在IF中说明,但是它在每张幻灯片上都做了。 你能帮忙吗? 谢谢!

正如布鲁斯·韦恩所提议的,我通过这样做来解决:

 Select Case UCase(OPCountry) Case "US" 'Conditions for slide 3, 4 and 5 If sld.SlideNumber = 3 Or sld.SlideNumber = 4 Or sld.SlideNumber = 5 Or sld.SlideNumber = 6 Then With sld.Shapes(1) If .HasChart Then Set oPPChart = .Chart Set oPPChartData = oPPChart.ChartData oPPChartData.Activate 'Set Excel objects Set oXlWb = oPPChartData.Workbook Set oXlApp = oXlWb.Parent 

我只是将SlideNumber更改为我想要的幻灯片。 我认为问题出在excel的编译器中,因为它(可能)已经打开了许多进程。