发布网友 发布时间:2022-02-23 19:33
共1个回答
热心网友 时间:2022-02-23 21:03
下面将给出一份代码, 你只需把下面的代码复制, 粘贴到文本文档里, 然后另存为 ****. vbs(****可以自己改变, 如: 转换. vbs) 。 然后把你想转换为 word 格式的 ppt 文件放到c 盘下,不要放文件夹, 直接放文件! 运行刚才生成的小程序, 安提示确定, 修改想保存的路径就可以了, 稍等一会即可完成, 转换过程可视。 此程序小而精悍, 转换效果很好故与大家分享, 转换好后需要的话自己可以重新排版!下面为代码: (从’ 开始复制) ' 绑定到本地计算机 strComputer = ". " ' 如果发生错误, 继续执行 on error resume next Set obj WMIService = GetObj ect("winmgmts: " _ & "{ impersonationLevel=impersonate} ! \\" & strComputer & "\root\cimv2") msgbox "此脚本可以批量将ppt 文件中的文本转换为 word 文件。 图片、 表格等内容则自动跳过" & vbcrlf & "使用时请把所有要转换的 ppt 文件复制到目录c: \下。 双击运行此文件即可。 " & vbcrlf & "运行此脚本需要本机上安装了 office" ' 创建一个word 对象 Set obj Word = CreateObj ect("Word. Application") ' 创建一个ppt 对象 Set pptApp = CreateObj ect("PowerPoint. application") ' 获得c: \目录下的文件集合 Set FileList = obj WMIService. ExecQuery _ ("ASSOCIATORS OF { Win32_Directory. Name=' c: ' } Where " _ & "ResultClass = CIM_DataFile") For Each obj File In FileList ' 如果文件的扩展名是ppt If obj File. Extension = "ppt" Then pptApp. visible = true ' 打开这个ppt 文件 Set pptSelection = pptApp. Presentations. Open("c: \" & obj File. FileName & ". " & obj File. Extension) ' 如果想让脚本处理得快些, 把下面一行改为“obj Word. Visible = false”, 不推荐。 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 obj Selection. Font. Name = "黑体" ' 把文本框中的文字添加到word 中 obj Selection. TypeText pptSelection. Slides(i) . Shapes(j ) . TextFrame. TextRange. text obj Selection. TypeParagraph() obj Selection. Font. Name = "宋体" end if obj Selection. TypeText pptSelection. Slides(i) . Shapes(j ) . TextFrame. TextRange. text ' 加一个回车 obj Selection. TypeText vbcrlf Next next ' 关闭这个ppt 文件 pptSelection. close ' 保存word 文件。