1234

ExcelHome技术论坛

用户名  找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

帖子
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 323|回复: 2

学习幻灯片对象 (PowerPoint)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-11-1 10:21 | 显示全部楼层 |阅读模式
幻灯片对象 (PowerPoint) | Microsoft Learn  https://learn.microsoft.com/zh-c ... i/PowerPoint.Slides



幻灯片对象 (PowerPoint)
  • 项目
  • 2023/04/07
  • 6 个参与者

[size=0.875em]
反馈

本文内容
指定演示文稿中所有 [color=var(--theme-hyperlink)]Slide 对象的集合。
备注
如果您的Visual Studio解决方案包括 Microsoft.Office.Interop.PowerPoint的引用,此集合将映射到以下类型︰
  • Microsoft.Office.Interop.PowerPoint.Slides.GetEnumerator(用于枚举 Slide 对象。)
下面的示例展示了如何执行下列操作:
  • 创建一张幻灯片并将其添加到集合中
  • 返回通过名称、索引号或幻灯片 ID 号指定的单张幻灯片
  • 返回演示文稿中幻灯片的子集
  • 同时将一种属性或方法应用到演示文稿中的所有幻灯片

示例
[color=var(--theme-hyperlink)]Slides 属性可用于返回 Slides 集合。 使用 [color=var(--theme-hyperlink)]Add 方法创建新幻灯片并将其添加到集合。 下例将新幻灯片添加到活动演示文稿。
[backcolor=var(--theme-code-header)][size=0.8]VB复制[color=var(--theme-success-invert) !important][backcolor=var(--theme-success-base) !important][size=1.125]

ActivePresentation.Slides.Add 2, ppLayoutBlank
使用 幻灯片 (索引) ,其中 index 是幻灯片名称或索引号,或者使用 Slide.FindBySlideID (索引) (其中 index 是幻灯片 ID 号)返回单个 Slide 对象。 下面的示例展示了如何设置活动演示文稿中第一张幻灯片的版式。
[backcolor=var(--theme-code-header)][size=0.8]VB复制[color=var(--theme-success-invert) !important][backcolor=var(--theme-success-base) !important][size=1.125]

ActivePresentation.Slides(1).Layout = ppLayoutTitle
下面的示例展示了如何设置活动演示文稿中“大图表”幻灯片的版式。 请注意,自动为幻灯片指定在幻灯片创建时生成的名称,格式为“幻灯片n”(其中 n 为整数)。 若要为幻灯片指定更有意义的名称,请使用 [color=var(--theme-hyperlink)]Name 属性。
[backcolor=var(--theme-code-header)][size=0.8]VB复制[color=var(--theme-success-invert) !important][backcolor=var(--theme-success-base) !important][size=1.125]

ActivePresentation.Slides("Big Chart").Layout = ppLayoutTitle
使用 Slide.Range (索引) ,其中 index 是幻灯片索引号或名称、幻灯片索引号数组或幻灯片名称数组,可返回一个 [color=var(--theme-hyperlink)]SlideRange 对象,该对象代表 幻灯片 集合的子集。 下面的示例设置活动演示文稿中第一和三张幻灯片的背景填充。
[backcolor=var(--theme-code-header)][size=0.8]VB复制[color=var(--theme-success-invert) !important][backcolor=var(--theme-success-base) !important][size=1.125]

With ActivePresentation.Slides.Range(Array(1, 3))     .FollowMasterBackground = False     .Background.Fill.PresetGradient msoGradientHorizontal, _         1, msoGradientLateSunset End With
如果想要同时对演示文稿中的所有幻灯片执行同一操作(例如删除所有幻灯片或为所有幻灯片设置属性),请使用没有自变量的 Slides.Range 来创建在 Slides 集合中包含所有幻灯片的 SlideRange 集合,然后将相应的属性或方法应用到 SlideRange 集合中。 下例设置活动演示文稿中全部幻灯片的背景填充。
[backcolor=var(--theme-code-header)][size=0.8]VB复制[color=var(--theme-success-invert) !important][backcolor=var(--theme-success-base) !important][size=1.125]

With ActivePresentation.Slides.Range     .FollowMasterBackground = False     .Background.Fill.PresetGradient msoGradientHorizontal, _         1, msoGradientLateSunset End With
  1. Sub ff()
  2.     Dim Sld As Slide, Slds As Slides
  3.         
  4.         Set Slds = Application.ActivePresentation.Slides
  5.         Debug.Print Slds.Count
  6.         
  7.         For ii = 1 To 20
  8.             Set Sld = Slds.Add(Index:=ii, Layout:=ppLayoutBlank)
  9.         Next ii
  10. End Sub
复制代码



TA的精华主题

TA的得分主题

 楼主| 发表于 2024-11-2 12:25 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
学习学习,再学习。

  1. Sub tmp()
  2.    Dim Shp As Shape
  3.    Dim Shps As Shapes
  4.        Set Shps = Sheet1.Shapes
  5.        For ii = Shps.Count To 1 Step -1
  6.              Set Shp = Shps(ii)
  7.              Debug.Print Shp.Name, Shp.Type
  8.              Shp.Delete
  9.        Next ii
  10. End Sub
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2025-1-24 09:34 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
学习Dictionary


  1. '''
  2. Sub l()
  3.     Dim Pres As PowerPoint.Presentation
  4.         Set Pres = RetuPpt
  5.         With Pres
  6.            Debug.Print .FullName, .Name
  7.         End With
  8.         Stop
  9. End Sub

  10. Function RetuPpt() As PowerPoint.Presentation
  11.    
  12.     Dim Dict As New Scripting.Dictionary
  13.         Set Dict = New Scripting.Dictionary
  14.     Dim Ppt As PowerPoint.Application, Shp, Slds 'As Slides
  15.     Dim Pres As Presentation
  16.          Set Ppt = New PowerPoint.Application
  17.          Ppt.Visible = msoTrue
  18.         '''
  19.          For Each Pres In Ppt.Presentations
  20.                   Set Dict(Pres.Name) = Pres
  21.          Next Pres
  22.          Set RetuPpt = Dict.Items(0)
  23. End Function
复制代码
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

1234

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-3-25 16:04 , Processed in 0.019937 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表