找回密码
 立即注册
搜索

[原创]原创工具---PowerPoint转换为WORD文件!

49
回复
843
查看
[复制链接]

12

主题

205

帖子

37

幻币

一流武者

Rank: 3Rank: 3

积分
257
QQ
2016-4-12 12:16:44 显示全部楼层 |阅读模式
最新修改版本 : PowerPoint2000转换为WORD文件!( 005.9.5)原来忘了加个调用的菜单,现在修改好了!
加载宏 ppToWord2000.ppa (For Office2000)(office97,OfficeXP的用户请和我联系)效果:如果你的PP中的表格不多,主要是用文本框的话,基本可以完美的在WORD中再现!欢迎大家一起探讨!
Public Sub 保留格式PP转换为WORD() Call PowerPointToWord(True) MsgBox "转换完毕 !(表格未做处理,请核对!)", vbInformation + vbOKOnly, "OK"End SubPublic Sub 删除格式PP转换为WORD() Call PowerPointToWord(False) MsgBox "转换完毕 !(表格未做处理,请核对!)", vbInformation + vbOKOnly, "OK"End Sub
Private Sub PowerPointToWord(blStyle As Boolean)'-------------------------------------------------------------------------'作用:主要是把文本框、占位符、艺术字、图片、公式里面得内容转换到WORD里面。'图表、WORD表格、组织结构图等 OLE、表格暂时处理不好,主要是位置处理不好'保持格式: blStyle = False ,= True 删除格式'那位处理得好,麻烦通知一下:'msOfficeman@126.com'补充:PP2000中的表格是用文本框模拟的,在PP2003中此问题微软已经修正,故你可以修改本程序直接在PP2003中处理表格。'-------------------------------------------------------------------------On Error Resume Next Dim wdApp As Object Dim mr As SlideRange Dim tx As TextRange Dim i As Integer Dim iCount As Integer Dim iCunCount As Integer Dim iShapeType As Integer Set wdApp = CreateObject("Word.Application") wdApp.Visible = True 'wdApp.Application.ScreenUpdating = False '关闭屏幕刷新 wdApp.documents.Add Set mySlides = ActivePresentation.Slides.Range iCount = mySlides.Count For i = 1 To iCount DoEvents ActiveWindow.View.GotoSlide Index:=i iCunCount = ActiveWindow.Selection.SlideRange.Shapes.Count ' For j = 1 To iCunCount ActiveWindow.Selection.SlideRange.Shapes(j).Select iShapeType = ActiveWindow.Selection.SlideRange.Shapes(j).Type '1--自选图形 '7---公式 、(图表、WORD表格、组织结构图等 OLE) '17--文本框 19--表格 15--艺术字 14--占位符 '13---图片 ' Debug.Print iShapeType Select Case iShapeType Case 1, 14, 17 Set tx = ActiveWindow.Selection.ShapeRange.TextFrame.TextRange tx.Select If tx.Text  "" Then'----------------------------------------------------------------------If blStyle Then'保持格式 ActiveWindow.Selection.Copy ActiveWindow.Selection.Copy wdApp.documents(1).Activate wdApp.Selection.Paste'----------------------------------------------------------------------Else'删除格式 wdApp.documents(1).Range.InsertAfter tx.TextEnd If End If Case 7, 13, 15 '图片、公式 ActiveWindow.Selection.Copy 'wdApp.Documents(1).Activate wdApp.Selection.Paste Case 19 '表格不处理' ActiveWindow.Selection.Copy' wdApp.Activate' wdApp.Selection.Paste End Select Next j Next i' wdApp.Application.ScreenUpdating = TrueEnd Sub
8hljQQz1.rar (39.4 KB, 下载次数: 224)
PPT学习论坛
回复

使用道具 举报

22

主题

204

帖子

57

幻币

一流武者

Rank: 3Rank: 3

积分
271
QQ
2016-4-12 13:19:40 显示全部楼层
应当是好帖。
但一帖双发在论坛是犯戒的,呵。
PPT学习论坛
回复 支持 反对

使用道具 举报

6

主题

214

帖子

27

幻币

一流武者

Rank: 3Rank: 3

积分
252
QQ
2016-4-12 13:33:32 显示全部楼层
我试过了,无法加载下载的宏:ppToWord.ppa,是什么原因呢?是不是我的操作有误?
不好意思,我还只是个菜鸟!
PPT学习论坛
回复 支持 反对

使用道具 举报

19

主题

248

帖子

47

幻币

一流武者

Rank: 3Rank: 3

积分
304
QQ
2016-4-12 13:35:18 显示全部楼层
呵呵,只是想让大家引起注意,共同来完善它。无心犯戒啊。。。
楼上的用的哪个版本啊,我在OFICE2000测试没问题,别的没测试过。
PPT学习论坛
回复 支持 反对

使用道具 举报

10

主题

220

帖子

28

幻币

一流武者

Rank: 3Rank: 3

积分
270
QQ
2016-4-12 13:39:06 显示全部楼层
关于加载的问题请看此帖:PPT学习论坛,顶一下40445
很不错的,比微软原来的导出功能更加强大,只是字号仍沿用Powerpiont中的,所以太大,设法进行一个换算,使24号对10号,28号对12号,依次,那就完美了。
PPT学习论坛
回复 支持 反对

使用道具 举报

12

主题

211

帖子

35

幻币

一流武者

Rank: 3Rank: 3

积分
256
QQ
2016-4-12 13:44:15 显示全部楼层
加载宏了,怎么执行这个宏呀
PPT学习论坛
回复 支持 反对

使用道具 举报

22

主题

233

帖子

54

幻币

一流武者

Rank: 3Rank: 3

积分
299
QQ
2016-4-12 13:54:27 显示全部楼层
鉴于2个论坛中有许多网友并不能同时都去,基于共享精神,原创的还是应该多鼓励为主啊。
PPT学习论坛
回复 支持 反对

使用道具 举报

18

主题

224

帖子

43

幻币

一流武者

Rank: 3Rank: 3

积分
284
QQ
2016-4-12 13:57:54 显示全部楼层
多谢大家支持!尤其是5楼的鼓励及7楼的宽容!我会继续完善它的!关于字体的建议不错,我会考虑,你有什么好的转化算法可以讨论一下。
反对光说不练的!多做实事!
PPT学习论坛
回复 支持 反对

使用道具 举报

17

主题

214

帖子

47

幻币

一流武者

Rank: 3Rank: 3

积分
268
QQ
2016-4-12 13:59:49 显示全部楼层
我下载了还是不知道怎么用? 还望楼主详细说明!
PPT学习论坛
回复 支持 反对

使用道具 举报

19

主题

216

帖子

59

幻币

一流武者

Rank: 3Rank: 3

积分
290
QQ
2016-4-12 14:05:39 显示全部楼层
楼上的OFFICE版本是2000的吗?2000的你直接双击是ppToWord文件就可以了,2000版本以上等我修改一下再传上来。
PPT学习论坛
回复 支持 反对

使用道具 举报

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