检查当前幻灯片的编号
我已经做了一个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的编译器中,因为它(可能)已经打开了许多进程。
- 是否有可能dynamic地添加表中的行时,单元格中单击Excel中不同的工作表?
- 在excel中使用column()重复1,2,3,4,5
- 如何在Power View中创build嵌套的图块
- 有没有办法在excel表单中设置开始查看位置?
- Powershell – 在Excel文档中运行search值后,获取单元格位置(例如B32)
- 创build新的工作表PHPExcel
- 如果你打开了多个excel文件,如何在特定的时间运行一个excelmacros
- SSAS报告操作将多值列表值传递给SSRS报告参数
- 在文件被“打开文件”菜单select并加载之后,如何将Excel单元格值加载到tkinter GUI中的空文本框中?