2024年3月25日发(作者:)
我已开始提供了“文件——发送——Microsoft Office Word”这个方
法,但他反应这个方法不理想。之后我想起了以前收藏的一段脚本可以
批量把PPT文档转换为word文档,而且效果很好。在这里我把这段代码
和朋友们分享,希望给朋友们的学习和生活带去一些便利。
这是一段VB脚本代码。将下面的代码复制下来,保存为“把PPT转换
为”,可以放在任何位置。使用时把所有要转换的PPT文件复制
到目录C:(即C盘)下。双击运行此脚本文件即可进行转换了(注意:
电脑中必须装有Office)。
'绑定到本地计算机
strComputer = "."
'如果发生错误,继续执行
on error resume next
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!" & strComputer &
"rootcimv2")
msgbox "此脚本可以批量将ppt文件中的文本转换为word文件。图
片、表格等内容则自动跳过" & vbcrlf & "使用时请把所有要转换的ppt文
件复制到目录c:下。双击运行此文件即可。" & vbcrlf & "运行此脚本需
要本机上安装了office"
'创建一个word对象
Set objWord = CreateObject("ation")
'创建一个ppt对象
Set pptApp = CreateObject("ation")
'获得c:目录下的文件集合
Set FileList = ery _
("ASSOCIATORS OF {Win32_='c:'} Where " _
& "ResultClass = CIM_DataFile")
For Each objFile In FileList
'如果文件的扩展名是ppt
If ion = "ppt" Then
e = true
'打开这个ppt文件
Set pptSelection = ("c:" & me
& "." & ion)
'如果想让脚本处理得快些,把下面一行改为“e =
false”,不推荐。
e = true
'新建一个word,以保存ppt中的文本
Set objDoc = ()
Set objSelection = ion
'从ppt的第一页开始循环。即幻灯片的数量
For i = 1 To
'从每一张ppt的第一个文本框开始循环,,即每张幻灯
片中文本框的数量
For j = 1 To (i).
'如果是每页的第一行,就按标题处理,变成黑体字
if i =1 then
= "黑体"
'把文本框中的文字添加到word中
xt
(i).Shapes(j).
ragraph()
= "宋体"
end if
xt
(i).Shapes(j).
'加一个回车
xt vbcrlf
Next
next
'关闭这个ppt文件
'保存word文件。
("c:" & me & ".doc")
'如果不需要关闭word,把下面这一行删掉
'如果不想弹出消息框,把下面这一行删掉
msgbox "转换后的word已保存在c:" & me & ".doc"
else '没有ppt文件
'msgbox "错误:c:下没有发现ppt文件!"
End If
Next


发布评论