ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

用VBA批量删除PowerPoint第一页和最后2页

[复制链接]

TA的精华主题

TA的得分主题

发表于 2022-12-17 10:48 | 显示全部楼层 |阅读模式
求助:用VBA批量删除PowerPoint第一页和最后2页

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-12-17 10:49 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-12-17 10:54 | 显示全部楼层
本帖最后由 左小光 于 2022-12-17 11:13 编辑

有很多文件,因为他们里有广告 ,每个文件有几十张,我不要第1页与


文件名 ( [url=]插入全部附件[/url] )
描述


[url=]5.1.2 垂线.zip[/url]
[url=]删除[/url]




最后2页,附件太大,我删除些如下:

5.1.2 垂线.zip

117.29 KB, 下载次数: 5

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-12-17 11:39 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
  这是我过去删除课件第一页和最后一页的方法,当时在网上搜的,自己略改了一下,现在我就看不懂了,寻求大家的帮助
Sub 遍历FSO递归删优翼课件广告()
    With Application.FileDialog(msoFileDialogFolderPicker)
        If .Show Then myPath$ = .SelectedItems(1) Else Exit Sub
    End With
    If Right(myPath, 1) <> "" Then myPath = myPath & ""
   
    Call ListAllFso(myPath)   '调用FSO遍历子文件夹的递归过程
   
End Sub

Function ListAllFso(myPath$) '用FSO方法遍历并列出所有文件和文件夹名的【递归过程】
    Set fld = CreateObject("Scripting.FileSystemObject").GetFolder(myPath)
    '用FSO方法得到当前路径的文件夹对象实例 注意这里的【当前路径myPath是个递归变量】
   
    For Each f In fld.Files  '遍历当前文件夹内所有【文件.Files】
        
        
        
        e$ = f.Name
        a$ = "*.pptx"
        If e Like a Then
            Dim doc As Presentation
            Set doc = Presentations.Open(myPath & "\" & e, , , msoFalse)
            With doc
                On Error Resume Next
                .Slides(1).Delete
                .Slides(1).Shapes.Range(Array("object 5", "text box 6", "text box 33")).Delete
                .Slides(.Slides.Count).Delete
                Dim oPic As Shape
    For i = 1 To .Slides.Count

    Set oPic = doc.Slides(i).Shapes.AddPicture("E:\OneDrive - engage collaborative solutions\装电脑资料用\z002.png", False, True, 570, 0, -1, -1)
                Next i
                With doc.SlideMaster.Background.Fill
                    .ForeColor.RGB = RGB(255, 255, 255)
                    .BackColor.RGB = RGB(250, 255, 250)
                    .TwoColorGradient msoGradientHorizontal, 1
'渐变样式与效果
'msoGradientHorizontal(1,水平渐变)
'msoGradientVertical(2,垂直渐变)
'msoGradientDiagonalUp(3,斜上对角渐变)
'msoGradientDiagonalDown(4,斜下对角渐变)
'msoGradientFromCorner(5,角部辐射渐变)
'msoGradientFromTitle(6,标题辐射渐变)
'msoGradientFromCenter(7,中心辐射渐变)
                End With
                On Error Resume Next
                .Save
                .Close
            End With
        End If
        
        
        
        
    Next
   
    For Each fd In fld.SubFolders  '遍历当前文件夹内所有【子文件夹.SubFolders】
        
        Call ListAllFso(fd.Path)       '注意此时的路径变量已经改变为【子文件夹的路径fd.Path】
        '注意重点在这里: 继续向下调用递归过程【遍历子文件夹内所有文件文件夹对象】
    Next
End Function
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-12-4 01:15 , Processed in 0.038289 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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