vba - 试图从活动的 ppt 幻灯片中删除表格
问题描述
我正在尝试从 ppt 演示文稿中的活动幻灯片中删除表格,但只有指定幻灯片的编号才能使其正常工作。我希望这适用于任何活动的幻灯片,而不是特定的幻灯片。下面的代码设置为从幻灯片 3 中删除表格。
Sub CopytoPPT()
Dim rng As Excel.Range
Dim sl As PowerPoint.Slide, sl_cnt As Long, pr As Object, pr_name As String, ppt As Object
Dim i As Long, j As Long
Set ppt = GetObject(, "PowerPoint.Application")
Set pr = ppt.Presentations(1)
Set sl = pr.Slides(3)
For i = sl.Shapes.Count To 1 Step -1
' ADD THIS TEST
If IsTable(sl.Shapes(i)) Then
sl.Shapes(i).Delete
End If
Next i
End Sub
Function IsTable(oSh As Variant) As Boolean
If oSh.Type = msoPlaceholder Then
If oSh.PlaceholderFormat.ContainedType = msoTable Then
IsTable = True
End If
Else
If oSh.HasTable Then
IsTable = True
End If
End If
End Function
解决方案
改变:
Set sl = pr.Slides(3)
至:
Set sl = ppt.ActiveWindow.View.Slide
推荐阅读
- winforms - 在 Winform 应用程序上启用拖放
- javascript - 如何让我的以下代码在 GitHub 上运行并使网站显示?
- python - 关于使用 scikit-learn GridSearchCV 调优超参数的问题
- odoo - odoo中模型的外部标识符的最大长度是多少?
- amazon-web-services - AWS ECS Terraform:当前不支持请求的配置。启动 EC2 实例失败
- sql - SQL 中将“varchar(50)”变量转换为“int”和“float/decimal”变量的表
- typescript - RxJS - 将承诺链转换为可观察的不起作用
- python - 链接 subprocess.Popen 以模拟管道
- ruby-on-rails - Ruby rest-client gem 总是导致 OpenTimeout
- python - 无法在 Python 中打印不同字典的多个键