QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 1872|回复: 3
收起左侧

[原创] 将PPT文件转换为Word文档

[复制链接]
发表于 2009-4-24 17:22:25 | 显示全部楼层 |阅读模式 来自: 中国山东烟台

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
Word 转换为PPT,很容易做到,但是反之把PPT转换为Word,就不一定那么简单了!一个很笨的方法,就是把里面的文字一段一段粘出来。文字少了还好说,要是文字多了,那个工作量就可想而知了......
  PowerPoint 2003 中的转换
  (Microsoft Office PowerPoint 2003版)
  1、首先打开需要转换成中文Word文件的中文PowerPoint文件,然后鼠标左键依次选择“文件→发送→Microsoft Word”命令项。

% f; F, b7 J. m: B
    2.完成选择之后,系统首先会出现“撰写”对话框,此时应当在“Microsoft Word使用的版式”栏中选择一种版面的配置,然后在“将幻灯片添加到Microsoft Word文档”栏中选择将中文PowerPoint的幻灯片转换到中文Word文件时的变化方式。
 
  3.完成上述选择之后,接着使用鼠标左键单击“确定”按钮,即可启动中文Word,然后自动实现将中文PowerPoint文件转换到中文Word文件中,此时只需要在中文Word中稍微进行一些修改,即可完成转换工作。
   但转换效果并不令人满意。
  (PowerPoint 2007 中的转换)
在Microsoft Office PowerPoint 2007版中,这个功能依然没有得到改善。只是在“发送”里面却找不到Microsoft Word命令项了。
 
 ! m( d3 W6 n7 J4 z& k0 Z  H
Microsoft Word命令项的确被转移了地方,点击“发布”——点击“使用Microsoft Office Word创建讲义”菜单。
 
 3 x/ f; \0 Z% b
一个完全与PowerPoint 2003一样的对话框,甚至没有任何修饰,既然如此,因而与PowerPoint 2003 转换的效果是一样的。 
* K" U2 B7 g- [3 v  f
        应用程序转换PPT 到Word 文档
2 i& l1 U5 o- i6 h
你只需把下面的代码复制,粘贴到文本文档里,然后另存为****.vbs****可以自己改变,如:转换.vbs)。然后把你想转换为word格式的ppt文件放到c盘下,不要放文件夹,直接放文件!运行刚才生成的小程序,安提示确定,修改想保存的路径就可以了,稍等一会即可完成,转换过程可视。此程序小而精悍,转换效果很好,转换好后需要的话自己可以重新排版!(从下面开始复制)
'绑定到本地计算机
$ H5 ~/ E( q. |$ H% T+ E& a( X9 JstrComputer = "."- ^/ l, n" |  }' {4 ^4 B  e
'
如果发生错误,继续执行
8 O5 d) M6 \/ `0 _4 f2 _4 {1 con error resume next
# C5 a( ^% n2 @$ p- Y( D' e, R: }2 I3 G2 v1 B
Set objWMIService = GetObject("winmgmts:" _/ x- M, T$ o) ~5 u% x7 c
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
0 N: J5 k# d) u6 z$ e, Imsgbox "
此脚本可以批量将ppt文件中的文本转换为word文件。图片、表格等内容则自动跳过" & vbcrlf & "使用时请把所有要转换的ppt文件复制到目录c:\下。双击运行此文件即可。" & vbcrlf & "运行此脚本需要本机上安装了office"
8 B2 d( H( E7 Q% ]'
创建一个word对象 ( C; Z5 r% M7 k; i- D' J3 V
Set objWord = CreateObject("Word.Application")
+ e( u  a. F' d: K9 s, L; R) L'
创建一个ppt对象
) f6 T3 }: h& H% Q+ x8 j# s# aSet pptApp = CreateObject("PowerPoint.application")
* U/ j4 E, b9 C$ ]* `'
获得c:\目录下的文件集合 0 @* L9 V% `+ h" z9 b' O9 F
Set FileList = objWMIService.ExecQuery _
$ h( }# Z  n6 ~5 B("ASSOCIATORS OF {Win32_Directory.Name='c:'} Where " _  w! q  N# _4 W# d
& "ResultClass = CIM_DataFile")
9 E  E1 _9 a1 f! Z# XFor Each objFile In FileList7 ^4 W; u, b, j1 q. ]9 U
'
如果文件的扩展名是ppt+ G* D" E& v( [2 @4 g( P
If objFile.Extension = "ppt" Then0 u( U4 H: d# u( b* P% e
pptApp.visible = true6 N3 Q3 U9 R/ |( P' v" A$ ~
'
打开这个ppt文件 4 x! o. R0 p. p6 }  K4 ^
Set pptSelection = pptApp.Presentations.Open("c:\" & objFile.FileName & "." & objFile.Extension)! t& j$ y: G" `- s1 t
'
如果想让脚本处理得快些,把下面一行改为“objWord.Visible = false”,不推荐。 3 I) \- d7 K0 C8 T0 r
objWord.Visible = true
& R7 f% P& c; s$ W8 ^+ U% l'
新建一个word,以保存ppt中的文本 5 J! F' X/ }- Q
Set objDoc = objWord.Documents.Add()/ U9 s, ]. J0 t+ _- k5 L
Set objSelection = objWord.Selection
) t( ]& s! z* F+ A, g0 ?'
ppt的第一页开始循环。Slides.Count即幻灯片的数量 / g6 X1 B* d! O, y" \
For i = 1 To pptSelection.Slides.Count, i4 B( V/ u) f! M, @
'
从每一张ppt的第一个文本框开始循环,Shapes.Count,即每张幻灯片中文本框的数量
( E/ `6 E# {0 h; K1 mFor j = 1 To pptSelection.Slides(i).Shapes.Count$ c1 E, y; ]# x
'
如果是每页的第一行,就按标题处理,变成黑体字
$ K4 c  {' d* q) J# Zif i =1 then
6 G7 C6 s# N- f6 v- `2 y9 ~% C& cobjSelection.Font.Name = "
黑体"
9 U$ w7 Y% `+ o! S' t'
把文本框中的文字添加到word
5 r$ _) x. x. }9 WobjSelection.TypeText pptSelection.Slides(i).Shapes(j).TextFrame.TextRange.text9 C. o6 T1 ~$ P0 k: i" W
objSelection.TypeParagraph()
8 l. d4 F' ~6 V, D7 CobjSelection.Font.Name = "
宋体"' w4 d" T4 x# ^: L1 z8 e
end if
, C9 E8 i, }3 B  y3 a0 JobjSelection.TypeText pptSelection.Slides(i).Shapes(j).TextFrame.TextRange.text# ?8 S. _" z8 B) o1 w
'
加一个回车
% w( E1 B8 }- Z, ~1 ]5 i: v0 WobjSelection.TypeText vbcrlf
3 Q  j6 c4 |, r& z! NNext
* a  }# B* ]" x3 inext! M: Y5 m4 @1 a4 H1 Y  j$ j
'
关闭这个ppt文件 ! C0 V( @4 j5 t& E
pptSelection.close" w* D3 ^1 O: o
'
保存word文件。
6 ?9 \: I& `: ZobjDoc.SaveAs("c:\" & objFile.FileName & ".doc")
7 E1 Q+ E- d- @'
如果不需要关闭word,把下面这一行删掉
% L5 {- m' `0 r: @6 a6 n5 zobjDoc.close
, n1 }3 R. ^0 t2 }* c; _) k) X$ S'
如果不想弹出消息框,把下面这一行删掉 & j( q% S+ p! Y$ ]0 h
msgbox "转换后的word已保存在c:\" & objFile.FileName & ".doc"$ b- @: v1 p7 ~
else '
没有ppt文件 / Y  m6 l0 w1 v3 }
'msgbox "错误:c:\下没有发现ppt文件!"
6 d6 G$ a# D/ h. G7 P. R& o! rEnd If
- M! d0 \2 x* Z; \6 GNext% |) b; {3 D, p# G9 x* Z' r: R- g
pptApp.quit
发表于 2009-4-24 18:38:52 | 显示全部楼层 来自: 中国浙江宁波
还没有这方面的需要,感觉没有这个必要。。。
发表于 2009-4-25 00:34:05 | 显示全部楼层 来自: 中国上海
下来试试看!!!
发表于 2009-4-25 11:52:19 | 显示全部楼层 来自: LAN
可以先转成PDF,在从pdf另存为WORD。不过一般很少需要将ppt转成word
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

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