PPT转Word的4个实例,含怎么把大纲不显示文字的PPT转换Word和如何保留原格式将PPT转换成Word

亮术网 2019-04-30 本网原创

把PPT转Word有多种方法,一种为复制法,第二种为发送法,第三种为中间转换法,第四种为用宏VBA快速转换法。除发送法外,其它三种方法只能转换文字,不能转换背景图片;而第一四种方法不能保留原格式,第二三种能保留原格式;若只转文字,前三种方法不能把大纲视图不显示文字的幻灯片转换到Word。

把 PPT 发送到 Word,既可以把整个幻灯片转为 Word,又可以只转换文字,但不能把大纲视图不显示的内容转到 Word,这种情况需要用VBA 实现,此外,用 VBA 转换还有快速的优点。以下就是如何将PPT转换成Word的4个实例。

?

一、PPT转Word情况一:所有幻灯片中的文字都能转换

(一)PPT转换成Word后保留原格式

1、用创建讲义转换。单击“文件”,选择左边的“导出”,切换到“导出”页面,选择“创建讲义”,再单击右边的“创建讲义”,打开“发送到 Microsoft Word”窗口,选择“只使用大纲”,单击“确定”,则开始把PPT转换成Word,一会后转换完成并自动用 Word 打开;操作过程步骤,如图1所示:

PPT转Word后保留原格式

图1

?

2、另存为“大纲/RTF 文件”后再转为Word。单击“文件”,选择“另存为”,再点击“浏览”,打开“另存为”窗口,定位到要保存转后文档的文件夹,“保存类型”选择“大纲/RTF 文件”,单击“保存”,则把 PPT 另存为 RTF 文件;用 Word 打开 RTF 文件,另存为 Word 文档即可。

?

(二)PPT转换成Word后不保留原格式

选择“视图”选项卡,单击窗口左上角的“大纲视图”,按 Ctrl + A,选中所有幻灯片,按 Ctrl + C 复制;切换到 Word 窗口,按Ctrl + V,则所有幻灯片的文字被复制到 Word;操作过程步骤,如图2所示:

PPT转换成Word,只转文字

图2

以上三种把PPT转Word的方法都只能把文字转为Word,PPT中的背景图片不能一起转换到 Word,如果要把背景图片一起转到 Word,需要用下文的方法。

?

二、PPT转Word情况二:把幻灯片整体转换到 Word

1、如何转换。按住 Alt,依次按 F、E、H 和 A,打开“发送到 Microsoft Word”窗口,选择“备注在幻灯片旁”,按回车确定,则开始将PPT转换成Word,转换时间长短取决到幻灯片的多少,由于把幻灯片整体(包括图片)转为Word,所需时间比只转文字长得多,转换完成后也自动用 Word 打开;操作过程步骤,如图3所示:

PPT把幻灯片整体转换到 Word

图3

2、怎样调整。双击幻灯片,进入 PowerPoint 编辑状态,再双击要编辑的文字,进入文字编辑状态,可重新设置字体、字号、颜色和加粗等格式;如果没有备注,幻灯片右边会是空白,若要把空白去除,可选择“布局”选项,单击左上角的“转换为文本”;如果要调整幻灯片大小,可把鼠标移到幻灯片边框的小黑点按住左键并移动。

?

?

三、PPT转Word情况三:幻灯片中的文字不能转到 Word

(一)原因

有些幻灯片在大纲视图下不显示文字(见图4),它们无法用上面的方法转换到 Word,为什么会出现这种情况?创建幻灯片时,如果选择“空白”创建一个空白幻灯片,然后再插入文本框,再在文本框中添加文字,或直接把文字复制到幻灯片,这两种情况在大纲视图下都不显示文字,也无法把文字复制到 Word 或通过“创建讲义”的方式转换成Word,主要是因为文本框中没有占位符。而选择非空白的幻灯片(如“标题幻灯片”或“标题和内容”),它们都有占位符(“单击此处添加标题”或“单击此处添加文本”便是占位符)。

PPT将幻灯片在大纲视图下不显示文字转到 Word

图4

?

(二)怎么用宏 VBA 快速把所有幻灯片中的文字(包括大纲视图不显示的文字)转换到 Word

1、在 PowerPoint 窗口,按 Alt + F11 打开 VBA 编辑窗口,单击“插入”,在弹出的菜单中选择“模块”,新建一个模块,把以下代码:

Sub PPTToWord()

? On Error Resume Next

? Dim docObj As New Word.Document, shapeObj As Shape, slideObj As Slide

? For Each slideObj In ActivePresentation.Slides

??? For Each shapeObj In slideObj.Shapes

?????? docObj.Range().Text = docObj.Range() + shapeObj.TextFrame.TextRange.Text

??? Next shapeObj

? Next slideObj

? docObj.Application.Visible = True

End Sub

复制到模块窗口,单击“工具”,然后选择“引用”,打开“引用”窗口,往下拖右边的滚动条一直找到 Microsoft Word Object Liblary(Word 对象类库),勾选它,单击“确定”,单击“运行”图标,则开始把PPT转Word,一会后转换完成,并自动用 Word 打开,在 PowerPoint 的大纲视图中没有显示的内容(如幻灯片 3 中的“1.2 功能区设置”)也转换到了 Word;操作过程步骤,如图5所示:

PPT怎么用宏 VBA 快速把所有幻灯片中的文字(包括大纲视图不显示的文字)转换到 Word

图5

?

2、VAB 代码说明:

A、On Error Resume Next 表示代码执行过程中发生错误后继续往下执行。

B、Dim docObj As New Word.Document 把 docObj 定义为 Word 的 Document(文档)对象,shapeObj As Shape 把 shapeObj 定义为Shape(形状)对象,slideObj As Slide 把 slideObj 定义为 Slide(幻灯片)对象。

C、ActivePresentation 表示活动(当前)窗口中的演示文稿,ActivePresentation.Slides 表示演示文稿中的所有幻灯片;slideObj.Shapes 表示形状对象 slideObj 中的所有形状,这里指所有幻灯片中的文本框。

D、Word 的 Range 对象用于表示文档中的一片连续区域,它有 Start 和 End 两个参数,Start 用于指定区域的开始字符,End 用于指定区域的结束字符,例如? Range(Start:=0, End:=5) 表示当前文档中从第 0 个到第 5 个字符;Range() 省略了参数,表示当前文档中所有字符,省略参数时,括号也可以省略,Range() 可以写为 Range;Range().Text(或 Range.Text)表示一片连续区域中的文字。

E、PowerPoint 中的 TextFrame 对象表示 Shape 对象中的文本框架;TextRange 表示文本框中的文本,用于操作文本的属性与方法。

F、For Each In ... Next 是循环语句,For Each slideObj In ActivePresentation.Slides ... Next 用于遍历当前窗口的演示文稿中

的每个幻灯片,第一次执行时,slideObj 表示第一个幻灯片;第二次执行时,slideObj 表示第二个幻灯片,其它的以此类推。

H、For Each shapeObj In slideObj.Shapes ... Next 用于遍历每个幻灯片中的所有文本框。

I、docObj.Range().Text = docObj.Range() + shapeObj.TextFrame.TextRange.Text 用于把遍历过的文本累加起来,docObj.Range() 表示已遍历过文本框中的文本,shapeObj.TextFrame.TextRange.Text 表示当前遍历文本框中的文本。

J、docObj.Application.Visible = True 用于把 Word 文档显示出来,Visible 是显示属性,设置为 True,表示显示,设置为 False,表示隐藏。

K、代码的意思是,先用外层循环遍历所有幻灯片,再用内层循环遍历每个幻灯片中的所有文本框,遍历完一个幻灯片后继续遍历下一个幻灯片,一直遍历完所有幻灯片。