office word批处理入门(三)doc、docx、txt格式文件批量转换格式

接着之前讨论过的问题,还是doc、docx、txt文件的格式转换。

首先,我们先研究一下doc和docx之间的转换问题。

Doc格式是word2003之前版本(包括word2003)的储存格式,docx是word2007之后版本(包括word2007)的存储格式。

Word的全称是office word,你要是用金山的WPS office,那就没有必要看这篇文章了。

一般软件都是高版本能打开低版本,但是低版本就打不开高版本了,word也有这个问题,word2007能打开doc文件,但是word2003打不开docx文件。

如何才能把docx文件用word2003打开呢?

解决方法有好几个。

No1,找一台安装了word2007以上版本的(包括word2007)的电脑,用word2007打开docx文件,转存一个doc文件。还不如装一个word2007或者word2010呢。

No2,网上有好几个网址提供在线转换docx到doc格式的服务。

http://www.doc.investintech.com/

这个是一个,但不爽的是,界面是英文的,而且还需要先注册电子邮箱地址,转完的doc文件发送到电子邮箱里面。

还有一些小软件也可以转,就不一一介绍了。

这个方法不推荐,因为要求网络环境,而且会破坏文件的保密性。

No3,下载一个word2003的补丁,把这个补丁安装以后,word2003就可以打开docx文件了。

下载地址如下:

http://zhidao.baidu.com/link?url=2ycj6HQBQNxbjt7TEATmcG6yY1Keb32TEox54Q7DqP44S7mhPh1KyfswuWXMvIWJK_b69inAoBPCK5RfKpr-Fa

这三个方法里面,第三个方法算是最推荐的了。

但这个方法也要求你word版本不能太低,你要是用的是word98,我也没辙了,亲,做人不用这么怀旧,可以升级一下程序了!

上述内容不是批处理的内容,只是福利了一下关于doc和docx的转换。

下面进入批处理。

因为我是一个优秀的专业工程技术人员,不是搞文字的,也不是编代码的,word的宏代码,我有点短板,我自己编的那个宏倒是能运行,但一直是死循环,没完没了了,我估计是我的do loop语句用的有问题,所以,我只能借鉴一下其他人的了,它山之石可以攻玉,你别管我怎么解决的,我能解决就行。

我找到了几个程序,做了一些修正,并且会详细写一下怎么用,我虽然自己没有写出能用的,但至少能读懂人家写的,能知道怎么用,也能稍微动动手脚改成我想要的功能……

好吧,我再强调一下,我是一个能力出色的全才……

好不要脸。

不废话了,进入主题。

1.docx转doc

首先,批量的docx文件转成doc文件,我把代码稍作修改,调成docx文件转成doc文件的,代码如下,在破折号里面,怎么用详见“文档批量合并”一章,我就不复述了。

Alt+f11调出Microsoft Visual Basic for Applications窗口,右键“ThisDocument”选择“查看代码”,把破折号里面的内容复制进去,运行。

哦,我复述了一遍。

我把我修正好的代码放上来吧。

————————————————

Sub docxtodoc()

Dim myDialog As FileDialog, oFile As Variant

Set myDialog = Application.FileDialog(msoFileDialogFilePicker)

With myDialog

.Filters.Clear

.Filters.Add "感谢亲爱的郎郎吧!", "*.docx", 1

.AllowMultiSelect = True

If .Show = -1 Then

For Each oFile In .SelectedItems

With Documents.Open(oFile)

.SaveAs FileName:=Left(oFile, Len(oFile) - 5) & ".doc", FileFormat:=wdFormatDocument

.Close

End With

Next

End If

End With

End Sub

————————————————————

注意,其中(.SaveAs FileName:=Left(oFile, Len(oFile) - 5) & ".doc", FileFormat:=wdFormatDocument)这行代码原来的代码是(SaveAs FileName:=Replace(oFile, "docx", "doc"), FileFormat:=0),有编程基础的人,能看出来,后面代码其实是不严谨的,容易报错,因为文件保存拓展名理论上是不能用replace来修改的,因为我用的word2010,所以我很悲催的报错了,我也是吭哧瘪度调试查错了半天,才改成现在的样子的,所以说,不管是编程,还是调试,都是很费事儿的,所以,好多大型软件都是好多模块组合树状分布的。

用法很简单,就是f5运行之后,会跳出一个对话框,把你要转换成doc格式的docx文件全部选中,点击确定,等着就可以了。

office word批处理入门(三)doc、docx、txt格式文件批量转换格式_第1张图片

但这个是另存的,所以说明原来的docx文件还会在那个文件夹里面,按类型排列一下,删除docx文件就可以,也可以用dat可执行文件删除,但也犯不着。

2.docx转txt

运行方法一样,我只放代码了。

——————————————

Sub docxtotxt()

Dim myDialog As FileDialog, oFile As Variant

Set myDialog = Application.FileDialog(msoFileDialogFilePicker)

With myDialog

.Filters.Clear

.Filters.Add "感谢亲爱的郎郎吧!", "*.docx", 1

.AllowMultiSelect = True

If .Show = -1 Then

For Each oFile In .SelectedItems

With Documents.Open(oFile)

.SaveAs FileName:=Left(oFile, Len(oFile) - 5) & ".txt", FileFormat:=wdFormatText

.Close

End With

Next

End If

End With

End Sub

——————————————

3.doc转txt

——————————————————

Sub doctotxt()

Dim myDialog As FileDialog, oFile As Variant

Set myDialog = Application.FileDialog(msoFileDialogFilePicker)

With myDialog

.Filters.Clear

.Filters.Add "感谢亲爱的郎郎吧!", "*.doc", 1

.AllowMultiSelect = True

If .Show = -1 Then

For Each oFile In .SelectedItems

With Documents.Open(oFile)

.SaveAs FileName:=Left(oFile, Len(oFile) - 4) & ".txt", FileFormat:=wdFormatText

.Close

End With

Next

End If

End With

End Sub

——————————————————

4.doc转docx

有人会这么转吗?

但还是上代码吧。

——————————————————

Sub doctodocx()

Dim myDialog As FileDialog, oFile As Variant

Set myDialog = Application.FileDialog(msoFileDialogFilePicker)

With myDialog

.Filters.Clear

.Filters.Add "感谢亲爱的郎郎吧!", "*.doc", 1

.AllowMultiSelect = True

If .Show = -1 Then

For Each oFile In .SelectedItems

With Documents.Open(oFile)

.SaveAs FileName:=Left(oFile, Len(oFile) - 4) & ".docx", FileFormat:=wdFormatXMLDocument

.Close

End With

Next

End If

End With

End Sub

——————————————————

好无聊。

我数数又数不明白了,应该到5了吧?

5.txt转doc

告诉大家一个小秘密哦,因为txt是纯文本格式,而且是windows系统自带的工具,所以你只要把txt文件的后缀名改成doc,就成为了doc文件啦!

但是不要尝试把doc的后缀改成txt,那样就是乱码了。

找一个最简单的方法,就是上文提到过的cmd方法。

在你要改成doc文件的文件夹里面新建一个文本文档,“郎郎好棒啊.txt”,把下面的内容复制进去,保存,把文本文档改成“郎郎好棒啊.cmd”,运行这个cmd文件,文件夹里面的txt文件就被改成了doc文件了。

————————

@echo off

ren *.txt *.doc

echo ok &pause>nul

————————

6.txt转docx

如上,代码如下。

————————

@echo off

ren *.txt *.docx

echo ok &pause>nul

————————

Ok!大功告成了!

哎呀!累死我了。。。。。

以后有时间,我再普及一些简单实用的dos命令吧!

截图、调试、写教程,挺辛苦的,但毕竟是技巧,不需要灵感,有得有失,有利有弊吧,我现在都不知道我自己擅长什么了,我真的挺全才的,哪方面都可以,都算不错,但问题是,还真没有某一方面可以算得上惊天地、泣鬼神,前无古人,后无来者。

这样,好像也不是特别好。

哎呀,累死了!

你可能感兴趣的:(office word批处理入门(三)doc、docx、txt格式文件批量转换格式)