全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件
9446 8
2009-08-23
PPTtoWord.rar
大小:(11.14 KB)

只需: 1 个论坛币  马上下载

本附件包括:

  • PPTtoWord.ppa


1. 功能:
对PPT中文本框中的文字、图形、图表、嵌入式对象、表格等,一一写入WORD中,并基本保持原有格式。 对其中的白色字体,自动设置为黑色(自动色) 对图表和嵌入式对象等,以图片方式粘贴,并切断了链接;图形在WORD中均以14*6厘米的大小、居中和嵌入式格式设置; 对表格,按页面大小的100%进行设置,并调整字体为11号; 以加载宏的方式可以方便用户调用/加载和卸载。 加载时自动向常用工具栏的第一个按钮位置添加名为"PPTtoWord"的命令,并在用户卸载时删除此命令。 2. 存在的问题: 仅适用于OFFICEXP及以上版本;如果是2000的版本,请更改并勾选VBE 工具/引用中对于MICROSOFT WORD 9.0 OBJECT LIBRARY. 对其中的一些格式,你可以自行添加一些代码 受用户PPT文档编辑过程的影响,部分文本框中内容的秩序会有影响. 3. 注意事项: 请将PPT中的宏安全性设置为低,如果为非低,请设置为低后重启PPT; 请将此加载宏解压于指定文件夹,以便于你的加载调用;建议解压于:"C:\Documents and Settings\username\Application Data\Microsoft\AddIns"文件夹中 请在工具/加载宏中,加载此加载宏(PPTtoWord.ppa) 以下代码供参考: Option Explicit Sub WriteToWord() Dim aSlide As Slide, MyDoc As New Word.Document, MyRange As Word.Range Dim aTable As Table, aShape As Shape, TablesCount As Integer, ShapesCount As Integer On Error Resume Next '忽略错误 With MyDoc .Application.Visible = False '隐藏WORD程序窗口 .Application.ScreenUpdating = False '关闭WORD屏幕更新以加快运行 For Each aSlide In ActivePresentation.Slides '遍历幻灯片 For Each aShape In aSlide.Shapes '遍历图层对象 Set MyRange = .Range(.Content.End - 1, .Content.End - 1) Select Case aShape.Type 'Case 图层类型 '自选图形,文本框等 Case msoAutoShape, msoPlaceholder, msoTextBox If aShape.TextFrame.HasText Then '如果文本框中包含文字 aShape.TextFrame.TextRange.Copy '将其中的文字区域复制 MyRange.Paste '粘贴 End If 'Case为图表对象\图片对象等时 Case msoEmbeddedOLEObject, msoLinkedOLEObject, msoLinkedPicture, msoOLEControlObject, msoPicture aShape.Copy '复制 '选择性粘贴为图片格式 MyRange.PasteSpecial Datatype:=wdPasteMetafilePicture ShapesCount = .Shapes.Count '取得文档中的图形数量 With .Shapes(ShapesCount) .LockAspectRatio = msoFalse '不锁定纵横比 .Width = Word.CentimetersToPoints(14) '宽为14厘米 .Height = Word.CentimetersToPoints(6) '高为6厘米 .Left = wdShapeCenter '居中 .ConvertToInlineShape '转换为嵌入式图片对象,以利排版 End With .Content.InsertAfter Chr(13) '插入一个段落标记 Case msoTable 'Case表格时 aShape.Copy '复制 MyRange.Paste '粘贴 TablesCount = .Tables.Count '取得文档中的表格数量 With .Tables(TablesCount) '表格对象 .PreferredWidthType = wdPreferredWidthPercent '百分比 .PreferredWidth = 100 '100%页面宽度 .Range.Font.Size = 11 '字体大小 End With .Content.InsertAfter Chr(13) End Select Next Next '替换白色字体为自动色(黑色) With .Content.Find .ClearFormatting '清除格式 .Format = True '格式查找 .Font.Color = wdColorWhite '白色字体 .Replacement.Font.Color = wdColorAutomatic '自动色 .Execute Replace:=wdReplaceAll '全部替换 End With MsgBox "PPT转换为WORD文档已经结束,请校对和进一步编辑!", vbInformation + vbOKOnly, "ExcelHome/ShouRou" .Application.Visible = True '显示Word应用程序 .Application.ScreenUpdating = True '恢复WORD的屏幕更新 End With End Sub '---------------------- Sub Auto_Open() '加载时在常用工具栏中添加一个命令 Dim MyControl As CommandBarControl On Error Resume Next '忽略错误 '预防性删除 Application.CommandBars("Standard").Controls("PPTtoWord").Delete '在常用工具栏最前面添加一个按钮 Set MyControl = Application.CommandBars("Standard").Controls.Add(Before:=1) With MyControl .Caption = "PPTtoWord" '标题 .FaceId = 567 '图标 .Enabled = True '可用 .Visible = True '显示 .Width = 100 '宽度 .OnAction = "WriteToWord" '运行指定的过程 .Style = msoButtonIconAndCaption '显示的方式图标+标题 End With End Sub '---------------------- Sub Auto_Close() '卸载时删除此命令 On Error Resume Next Application.CommandBars("Standard").Controls("PPTtoWord").Delete End Sub '----------------------
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2009-12-1 21:59:45
谢谢楼主,希望好用:)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-12-14 15:05:43
谢谢楼主,正是我在找的
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-1-4 10:12:47
老大,那个东西到处都能下,你还要钱难怪没有人来顶。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-2-26 22:04:37
ding!!!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-6-2 23:54:49
网上有,但不一定都是好用的哦。
有时间的话可以慢慢试,我这也是自己试出来的。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群