找回密码
 立即注册
搜索
楼主: 倾城浪子

ppt转word,包括图片、表格

78
回复
7278
查看
[复制链接]

2

主题

4

帖子

4

幻币

一流武者

Rank: 3Rank: 3

积分
228
2009-2-16 02:02:52 显示全部楼层
佩服得五体投地
PPT学习论坛
回复 支持 反对

使用道具 举报

0

主题

2

帖子

47

幻币

一流武者

Rank: 3Rank: 3

积分
225
QQ
2009-2-16 02:03:32 显示全部楼层
太牛了..
PPT学习论坛
回复 支持 反对

使用道具 举报

4

主题

9

帖子

14

幻币

江湖少侠

Rank: 2

积分
98
QQ
2009-2-16 02:06:39 显示全部楼层
不错,不过有些转后有点乱。
PPT学习论坛
回复 支持 反对

使用道具 举报

0

主题

6

帖子

48

幻币

一流武者

Rank: 3Rank: 3

积分
261
QQ
2009-2-16 02:08:00 显示全部楼层
强人啊
PPT学习论坛
回复 支持 反对

使用道具 举报

2

主题

19

帖子

22

幻币

江湖少侠

Rank: 2

积分
72
QQ
2009-2-16 02:10:40 显示全部楼层
神贴啊!楼主V5
PPT学习论坛
回复 支持 反对

使用道具 举报

6

主题

12

帖子

17

幻币

江湖少侠

Rank: 2

积分
172
QQ
2009-2-16 02:10:59 显示全部楼层
太牛了!顶楼主!不会用的仔细看下说明
PPT学习论坛
回复 支持 反对

使用道具 举报

1

主题

5

帖子

5

幻币

一流武者

Rank: 3Rank: 3

积分
228
QQ
2009-2-16 02:20:56 显示全部楼层
只能用崇敬来形容了!!!!!
PPT学习论坛
回复 支持 反对

使用道具 举报

1

主题

7

帖子

66

幻币

江湖少侠

Rank: 2

积分
162
QQ
2009-2-16 02:26:41 显示全部楼层
哥 我服了
PPT学习论坛
回复 支持 反对

使用道具 举报

0

主题

7

帖子

96

幻币

一流武者

Rank: 3Rank: 3

积分
263
QQ
2009-2-16 02:27:57 显示全部楼层
很厉害的说说!
PPT学习论坛
回复 支持 反对

使用道具 举报

0

主题

5

帖子

37

幻币

一流武者

Rank: 3Rank: 3

积分
300
QQ
2009-2-16 02:31:53 显示全部楼层
'请将此代码复制到新文本文档中,并将扩展名改为vbs
'绑定到本地计算机
strComputer = "."
'如果发生错误,继续执行
on error resume next
'____________________________设置区______________________________
'vis:可视性
'dia:有停顿
'zoomm:对象缩放比例
'fgf:显示幻灯片号码
vis=1
dia=1
fgf=1
zoomm=0.7
'1真0假
'____________________________设置区末______________________________
n=1
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
msgbox "此脚本可以批量将ppt文件中的文本转换为word文件。图片、表格等内容不跳过" & vbcrlf & "使用时请把所有要转换的ppt文件复制到目录e:\ppt\下。双击运行此文件即可。" & vbcrlf & "运行此脚本需要本机上安装了office"
'创建一个word对象
Set objWord = CreateObject("Word.Application")
'创建一个ppt对象
Set pptApp = CreateObject("PowerPoint.application")
'获得e:\ppt\目录下的文件集合
Set FileList = objWMIService.ExecQuery ("ASSOCIATORS OF {Win32_Directory.Name='e:\ppt'} Where " & "ResultClass = CIM_DataFile")
For Each objFile In FileList
'如果文件的扩展名是ppt
If objFile.Extension = "ppt" Then
if vis=1 or dia=1 then
pptApp.visible = true
else
pptApp.visible = false
end if
'打开这个ppt文件
Set pptSelection = pptApp.Presentations.Open("e:\ppt\" & objFile.FileName & "." & objFile.Extension)
'如果想让脚本处理得快些,把下面一行改为“objWord.Visible = false”,不推荐。
if vis=1 or dia=1 then
objWord.Visible = true
else
objWord.Visible = false
end if
'新建一个word,以保存ppt中的文本
Set objDoc = objWord.Documents.Add()
Set objSelection = objWord.Selection
'从ppt的第一页开始循环。Slides.Count即幻灯片的数量
For i = 1 To pptSelection.Slides.Count
'从每一张ppt的第一个文本框开始循环,Shapes.Count,即每张幻灯片中文本框的数量
For j = 1 To pptSelection.Slides(i).Shapes.Count
'如果是每页的第一行,就按标题处理,变成黑体字
if i =1 then
objSelection.Font.Name = "黑体"
'把文本框中的文字添加到word中
objSelection.TypeText pptSelection.Slides(i).Shapes(j).TextFrame.TextRange.text
objSelection.TypeParagraph()
objSelection.Font.Name = "宋体"
else
objSelection.TypeText pptSelection.Slides(i).Shapes(j).TextFrame.TextRange.text
end if
if pptSelection.Slides(i).Shapes(j).TextFrame.TextRange.text="" then
pptSelection.Slides(i).Shapes(j).copy
objSelection.paste
Selection.InlineShapes(n).Height = Selection.InlineShapes(n).Height*zoomm
Selection.InlineShapes(n).Width = Selection.InlineShapes(n).Width *zoomm
objSelection.MoveRight
n=n+1
end if
'加一个回车
objSelection.TypeText vbcrlf
Next
if fgf =1 then
objSelection.Font.Name = "黑体"
objSelection.TypeText "p"&i
objSelection.TypeText vbcrlf
objSelection.Font.Name = "宋体"

end if
next

'关闭这个ppt文件
pptSelection.close
'保存word文件。
objDoc.SaveAs("e:\ppt\" & objFile.FileName & ".doc")
'如果不需要关闭word,把下面这一行删掉
objDoc.close
'如果不想弹出消息框,把下面这一行删掉
if dia=1 then
msgbox "转换后的word已保存在e:\ppt\" & objFile.FileName & ".doc"
end if
else
'没有ppt文件
if dia=1 then
msgbox "错误:e:\ppt\下没有发现ppt文件!"
end if
End if
Next
pptApp.quit
'在winxp professional下测试通过
PPT学习论坛
回复 支持 反对

使用道具 举报

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