首页 > 范文大全 > 正文

PPT文档编辑的完美解决方案

开篇:润墨网以专业的文秘视角,为您筛选了一篇PPT文档编辑的完美解决方案范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:基于VBA对Microsoft office PowerPoint编程,笔者提出了一套ppt文字编辑的快速解决方案,大幅提高了PPT制作效率。该文详细描述了编程思路、关键代码、导入文档编辑原则和宏程序应用规范,设计了通过导入文档一次性构建PPT文本框架和仅仅更新现有PPT文本内容的“开关”,以适应不同制作阶段或不同使用者的需要。

关键词:VBA编程;PPT制作;文本导入

中图分类号:TP37文献标识码:A文章编号:1009-3044(2012)24-5885-03

在教学、科研、商务诸多工作中,PowerPoint(PPT)的应用十分广泛。因此,PPT的制作技巧成为现代成功人士必须掌握的重要技能之一。快速制作一个优秀的PPT作品,需要事先准备好文字、图片和音像等资料。在已经编辑好了文字资料的情况下,通过复制和粘贴的方法,一张张的幻灯片骤一制作,工作效率很低;采用PowerPoint提供的在“大纲”模式下进行复制和粘贴的方法,只能一次性将文字粘贴到标题文本框中,工作效率仍然不高。笔者采取VBA编程方法,完美地解决了上述问题,大幅提高了PPT制作效率。

打开或新建一个PPT文档,按Alt+F11,打开Visual Basic编辑器。首先引用Microsoft Word 11.0 Object Library和Wimdows Script Host Object Model对象,然后插入一个模块,在模块中建立一个名为“导入PPT”的过程,编程思路及关键代码如下:

1.1实现自动查找导入文件功能。

Dim MyFile As String, MyFile1 As String

With Application.FileDialog(msoFileDialogFilePicker)

.AllowMultiSelect = False

.Filters.Clear

.Filters.Add "Word文件", "*.doc".Filters.Add "文该文件", "*.txt"

If .Show = -1 Then MyFile1 = .SelectedItems(1) Else Exit Sub

End With

1.2如果导入文件为Word文件,则转换为文该文件。

If Right(MyFile1, 3) = "doc" Then

On Error GoTo gjh5033

GetDocText1 = " "

Dim wapp As Word.Application Dim doc As Document

Dim GetDocText1 As String

Set wapp = New Word.Application

wapp.Visible = True

Set doc = wapp.Documents.Open(MyFile1) GetDocText1 = doc.Content.Text

Dim sFile As Object, FSO As Object

MyFile1 = Left(MyFile1, Len(MyFile1) - 4) & ".txt"

Set FSO = CreateObject("Scripting.FileSystemObject")

Set sFile = FSO.CreateTextFile(MyFile1, True)

sFile.WriteLine (GetDocText1)

sFile.Close

Set sFile = Nothing

Set FSO = Nothing

Name MyFile1 As MyFile

gjh5033:

If Not (doc Is Nothing) Then

doc.Close

Set doc = Nothing

End If

If Not (wapp Is Nothing) Then

wapp.Quit

Set wapp = Nothing

End If

On Error GoTo 0

End If

1.3获取将写入到每张幻灯片的标题、内容和备注

On Error Resume Next

Dim code As String, code1 As String, code2 As String

Dim str4() As Integer, n As Integer, m As Integer

Dim str5() As String, str6() As String, str7() As String

Dim dfdf As Boolean

code1 = "-----------"’幻灯片内容分隔符

code2="备注:"’备注标示符

n = 0: m = 0: dfdf = False

Open MyFile For Input As #1 Do While Not EOF(1)

code = ""

Line Input #1, code

code = Trim(CStr(code))

m = m + 1

If code = code1 Then

n = n + 1

ReDim Preserve str4(n) As Integer

ReDim Preserve str5(n) As String

ReDim Preserve str6(n) As String

ReDim Preserve str7(n) As String

str4(n) = m

dfdf = False

Else

If str4(n) + 1 = m Then

str6(n) = code

Else

If code = code2 Then dfdf = True

If dfdf = False Then

str5(n) = str5(n) & code & vbCrLf

Else

If code code2 Then str7(n) = str7(n) & code & vbCrLf

End If

End If

End If

Loop

Close #1

On Error GoTo 0

1.4将文件内容全部导入到幻灯片

Dim oPres As Presentation

Set oPres = Application.ActivePresentation

Dim oSlide As Slide

Dim oShape As Shape

Dim tr As TextRange

Dim i As Long, j As Long

YesNo = MsgBox("导入文档请按:确定" & vbCrLf & "更新内容请按:取消", vbOKCancel, "导入/更新")

If YesNo = "1" Then

For i = 2 To oPres.Slides.Count

ActiveWindow.Selection.SlideRange.Delete

Next

End If

If n > 1 Then

For i = 2 To n

If oPres.Slides.Count < i Then

ActiveWindow.View.GotoSlide Index:=ActivePresentation.Slides.Add(Index:=i, Layout:=ppLayoutText).SlideIndex

End If

Set oSlide = oPres.Slides.Item(i)

For j = 1 To 2)

Set oShape = oSlide.Shapes.Item(j)

If oShape.Name = "Rectangle 2" Then

oShape.TextFrame.TextRange.Text = str6(i - 1) End If

If oShape.Name = "Rectangle 3" Then

oShape.TextFrame.TextRange.Text = str5(i - 1)

End If

Set oShape = Nothing

NextPowerPoint.ActivePresentation.Slides(i).NotesPage.Shapes.Placeholders(2).TextFrame.TextRange.Text = str7(i - 1)

Set oSlide = Nothing

Next

Set oPres = Nothing

导入文档可以是“.txt”和“.doc”文件。导入文档的制作需要遵循如下规则:

1)注意设定好标示符。此宏程序对每张幻灯片内容以"--"为分隔符,您也可以自己设定,更改code1变量即可。备注标示符为"备注:",您也可以通过修改code2变量来变更。但分隔符和标示符都必须单独为一行,且宏程序中设定的分隔符与文档中的分隔符必须完全一致。

2)分隔符下的第一行定义为幻灯片的标题内容,一般文字不宜超过18个字。

3)分隔符下的第二行开始一直到备注标示符或下一个分隔符止为幻灯片的讲解内容,可以有多个条目,以回车符为标志。但条目数不宜超过10个。

4)备注的应用:备注标示符与下一个分隔符之间的文字为备注内容。一个优秀的PPT作品,其讲解内容最好以标题方式展现,详细讲解内容放在备注中。

5)导入文件必须以分隔符结束。

3宏程序应用时的操作规则

1)设置窗口命令。一个宏程序如果不导入到窗口的工具栏中,则只对具有宏程序的PPT文档有效,换句话说,如果要应用到所有的PPT文档,则必须将宏程序以命令方式导入到Microsoft office PowerPoint的工具栏中。方法是:单击菜单“工具自定义”命令,打开“自定义”对话框并切换到“命令”选项卡,然后选中“类别”下边列表框中的“宏”选项,这时在“命令”下边的列表框中就会出现我们刚才新添加的宏了。

在工具栏上右击,然后依次单击“自定义(C)…”——“命令”——“宏”,在自定义窗口的右则找到“导入PPT”命令,单击并拖放到工具栏的适当位置即可。以后任何时候打开PPT文件时,只要单击工具栏的“导入PPT”按钮,就可以轻松地将编辑好的文档导入到PPT中或更新PPT文本内容,非常方便和实用。

2)通常PPT文档的首页为封面设计,也就是母版的第二张幻灯片,因此,本宏程序设定为不对首页内容进行导入。如果您打开的PPT文档不止一张幻灯片,则导入时PPT的活动页不能是首页,否则首页会被视为“文档页”(也就是母版第一张幻灯片的版式)而导入内容。

3)强烈建议您先选择或设计好PPT母版,设置好母版“文档页”标题和内容文本框的字体、文字大小和颜色,然后再进行文本导入,因为这样导入后制作的PPT根本不用再去调整或编辑文本,从而大大提高了工作效率。

4)应用前需将PPT的宏安全级别设置为“中”或“低”,否则宏程序不会运行。宏安全级别设置后,必须重新启动Microsoft office PowerPoint才能生效。如果设置为“中”,则打开PPT文档时会出现是否启用宏的提示窗口。

5)本宏程序在Microsoft office PowerPoint 2003中调试通过。

文字编辑工作完成后,再添加合适的图片、动画等,一个图文并茂的PPT文档就这样轻松地完成了。

参考文献:

[1]翁丹,尹小港.PowerPoint 2007应用技能培训教程[M].北京:海洋出版社,2011.

[2]张艳波.PowerPoint基础教程[M].北京:清华大学出版社,2004.