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文件全部選中,點擊確定,等著就可以了。


但這個是另存的,所以說明原來的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命令吧!

截圖、調試、寫教程,挺辛苦的,但畢竟是技巧,不需要靈感,有得有失,有利有弊吧,我現在都不知道我自己擅長什么了,我真的挺全才的,哪方面都可以,都算不錯,但問題是,還真沒有某一方面可以算得上驚天地、泣鬼神,前無古人,后無來者。

這樣,好像也不是特別好。

哎呀,累死了!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容