美文网首页office与mac
office word批处理入门(三)doc、docx、txt格

office word批处理入门(三)doc、docx、txt格

作者: 铁血阿郎 | 来源:发表于2015-12-21 22:04 被阅读5271次

    接着之前讨论过的问题,还是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文件全部选中,点击确定,等着就可以了。


    但这个是另存的,所以说明原来的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格

        本文链接:https://www.haomeiwen.com/subject/zwimhttx.html