TXT轉(zhuǎn)HTM、HTML「TXT轉(zhuǎn)網(wǎng)頁」的vbs實現(xiàn)代碼
來源:易賢網(wǎng) 閱讀:2051 次 日期:2016-07-05 14:42:11
溫馨提示:易賢網(wǎng)小編為您整理了“TXT轉(zhuǎn)HTM、HTML「TXT轉(zhuǎn)網(wǎng)頁」的vbs實現(xiàn)代碼”,方便廣大網(wǎng)友查閱!

在眾多文本編輯器中,Microsoft的Word是功能很強大的。況且XP PRO本身支持VBS調(diào)用Word文檔對象,那么使用VBS是最好不過的了。思路如下:VBS打開Word,Word打開TXT,另存為網(wǎng)頁,退出。

1. VBS調(diào)用Word.Application組件

如果電腦中安裝了Word,那么用VBS打開Word其實很簡單,如下:

Set objWord = CreateObject("Word.Application")

objWord.Visible = True

這樣可以以可視的方式打開Word。在MSDN的頁面{http://msdn.microsoft.com/en-us/library/kw65a0we(VS.80).aspx}上我們可以看到在VBS中僅可以調(diào)用兩個Word的子集:

Document object 打開的文檔對象

Selection object 默認選擇對象

不過這兩個子集還包含子集,所以可以使用很多功能。Word文檔對象本身是VBA的組件,VBS和VBA又有著明顯的界限,所以雖然VBS可以調(diào)用Word文檔對象,但是具體怎么用又是個未知的領域。幸好從微軟的一些只言片語和一些短篇中能夠大概知道用法。

2. 使用Word實例打開TXT

在創(chuàng)建一個Word實例objWord后,我們應該用其打開TXT了,如下:

Set objDoc = objWord.Documents.Open("e:\temp\1.txt",Format=5)

現(xiàn)在已經(jīng)打開一個TXT了,F(xiàn)ormat=5即是說TXT是Unicode的:

──────────────────────────────────────────────────────────────wdOpenFormatAllWord 6 與 Word 早期版本向后兼容的 Microsoft Office Word 格式。

wdOpenFormatAuto 0 現(xiàn)有格式。

wdOpenFormatDocument 1 Word 格式。

wdOpenFormatEncodedText 5 編碼文本格式。

wdOpenFormatRTF 3 RTF 格式。

wdOpenFormatTemplate 2 用作 Word 模板。

wdOpenFormatText 4 未編碼的文本格式。

wdOpenFormatUnicodeText 5 Unicode 文本格式。

wdOpenFormatWebPages 7 HTML 格式。

wdOpenFormatXML 8 XML 格式。

wdOpenFormatAllWordTemplates 13 Word 模板格式。

wdOpenFormatDocument97 1 Microsoft Word 97 文檔格式。

wdOpenFormatTemplate97 2 Word 97 模板格式。

wdOpenFormatXMLDocument 9 XML 文檔格式。

wdOpenFormatXMLDocumentMacroEnabled 10 啟用了宏的 XML 文檔格式。

wdOpenFormatXMLTemplate 11 XML 模板格式。

wdOpenFormatXMLTemplateMacroEnabled 12 啟用了宏的 XML 模板格式。

──────────────────────────────────────────────────────────────由于Word打開TXT后默認字體大小為10.5磅,這個值在網(wǎng)頁中是很小的,合適的值是13~15磅,所以需要更改字體大小,同時還需要更改一下默認的西方字體,這里選用--Times New Roman:

Set oRange = objDoc.Range()

oRange.Font.Size = "13"

oRange.Font.Name = "Times New Roman"

然后就是首行應用“標題一”樣式,如果首行為空行那么用編輯器使其不為空,其實也可以在VBS中實現(xiàn),不過代碼量增加,這樣就很麻煩不利調(diào)試:

Set oSelection = objWord.Selection

oSelection.HomeKey wdStory, wdMove

oSelection.Style = objWord.ActiveDocument.Styles("標題 1")

更改完成后,保存:

objDoc.SaveAs oPath & ".htm", 10

objDoc.Close

下面是wdSaveFormat常數(shù)列表:

──────────────────────────────────────────────────────────────wdFormatDocument 0 Microsoft Office Word 格式。

wdFormatDOSText 4 Microsoft DOS 文本格式。

wdFormatDOSTextLineBreaks 5 Microsoft DOS 文本格式,并且保留換行符。

wdFormatEncodedText 7 編碼文本格式。

wdFormatFilteredHTML 10 篩選的 HTML 格式。

wdFormatHTML 8 標準 HTML 格式。

wdFormatRTF 6 RTF 格式。

wdFormatTemplate 1 Word 模板格式。

wdFormatText 2 Microsoft Windows 文本格式。

wdFormatTextLineBreaks 3 Windows 文本格式,并且保留換行符。

wdFormatUnicodeText 7 Unicode 文本格式。

wdFormatWebArchive 9 Web 檔案格式。

wdFormatXML 11 可擴展標記語言 (XML) 格式。

wdFormatDocument97 0 Microsoft Word 97 文檔格式。

wdFormatDocumentDefault 16 Word 默認文檔文件格式。對于 Microsoft Office Word 2007,這是 DOCX 格式。

wdFormatPDF 17 PDF 格式。

wdFormatTemplate97 1 Word 97 模板格式。

wdFormatXMLDocument 12 XML 文檔格式。

wdFormatXMLDocumentMacroEnabled 13 啟用了宏的 XML 文檔格式。

wdFormatXMLTemplate 14 XML 模板格式。

wdFormatXMLTemplateMacroEnabled 15 啟用了宏的 XML 模板格式。

wdFormatXPS 18 XPS 格式。

──────────────────────────────────────────────────────────────Word實例退出:

objWord.Quit

3. 完整代碼

代碼如下:

' ********************************************************************************

' TXT轉(zhuǎn)網(wǎng)頁,僅作轉(zhuǎn)換演示

' Created By 千羽之城 / 2009年9月22日

' http://hi.baidu.com/asnahu

' ********************************************************************************

Dim objWord,objDoc,oRange,oPath

Const wdStory = 6

Const wdMove = 0

Const wdOpenFormatUnicodeText = 5

Const wdFormatFilteredHTML = 10

strFile = "E:\temp\1.txt" ' 該路徑必須是完整路徑

Set objWord = CreateObject("Word.Application")

objWord.Visible = True

Set objDoc = objWord.Documents.Open(strFile, Format=5)

Set oRange = objDoc.Range()

oRange.Font.Size = "13"

oRange.Font.Name = "Times New Roman"

Set oSelection = objWord.Selection

oSelection.HomeKey wdStory, wdMove

oSelection.Style = objWord.ActiveDocument.Styles("標題 1")

oPath = Split(strFile,".")(0)

objDoc.SaveAs oPath & ".htm", 10

objDoc.Close

objWord.Quit

如果要實現(xiàn)批量的多文本轉(zhuǎn)換,那么建議生成一個TXT文件列表,然后用FSO調(diào)用其中內(nèi)容,依次轉(zhuǎn)換即可。

最后:該方法轉(zhuǎn)換的質(zhì)量比較高,但是也附帶一些弊端,那便是垃圾代碼很多,生成的網(wǎng)頁文件很大。

更多信息請查看腳本欄目

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權所有:易賢網(wǎng)