找回密码
 立即注册
搜索

ppt里的备注可以一次性删除吗?

3
回复
401
查看
[复制链接]

14

主题

220

帖子

42

幻币

一流武者

Rank: 3Rank: 3

积分
279
QQ
2016-4-12 12:35:18 显示全部楼层 |阅读模式
ppt里的备注可以一次性删除吗?
PPT学习论坛
回复

使用道具 举报

17

主题

217

帖子

47

幻币

一流武者

Rank: 3Rank: 3

积分
279
QQ
2016-4-12 13:42:58 显示全部楼层
Sub DeleteNote()
                    Dim actppt As Presentation
                    Dim pptcount As Integer
                    Dim iChose As Integer
                    Dim bDelete As Boolean
                    Dim sMsgBox As String
                    Dim dirpath As String
                    Dim txtstring As String
                                                   
                                                   
                    sMsgBox = "运行该宏之前,请先作好备份!继续吗?"
                    iChoice = MsgBox(sMsgBox, vbYesNo, "备份提醒")
                    If iChoice = vbNo Then
                        Exit Sub
                    End If
                                               
                    sMsgBox = "导出备注后,需要删除PPT备注吗?"
                    iChoice = MsgBox(sMsgBox, vbYesNo, "导出注释")
                    If iChoice = vbNo Then
                        bDelete = False
                    Else
                        bDelete = True
                    End If
                                                   
                                                   
                    Set actppt = Application.ActivePresentation
                    dirpath = actppt.Path & "" & actppt.Name & " 的备注.txt"
                    pptcount = actppt.Slides.Count
                                                   
                    '打开书写文件
                    Set fs = CreateObject("Scripting.FileSystemObject")
                    Set a = fs.CreateTextFile(dirpath, True)
                                                   
                    '遍历ppt
                    With actppt
                        For i = 1 To pptcount
                            txtstring = .Slides(i).NotesPage.Shapes.Placeholders(2).TextFrame.TextRange.Text
                            If (bDelete) Then
                                .Slides(i).NotesPage.Shapes.Placeholders(2).TextFrame.TextRange.Text = ""
                            End If
                                                           
                            a.writeline (.Slides(i).SlideIndex)
                            a.writeline (txtstring)
                            a.writeline ("")
                                                           
                        Next i
                    End With
                                                   
                    a.Close
                                                   
                End Sub
                                               
PPT学习论坛
回复 支持 反对

使用道具 举报

14

主题

301

帖子

93

幻币

一流武者

Rank: 3Rank: 3

积分
410
QQ
2016-4-12 13:53:11 显示全部楼层
不错
谢谢二楼的分享。
PPT学习论坛
回复 支持 反对

使用道具 举报

16

主题

223

帖子

41

幻币

一流武者

Rank: 3Rank: 3

积分
285
QQ
2016-4-12 15:32:23 显示全部楼层
不错,VBA写得真好!
PPT学习论坛
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册