国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > VBScript > 正文

TXT轉(zhuǎn)HTM、HTML「TXT轉(zhuǎn)網(wǎng)頁」的vbs實(shí)現(xiàn)代碼

2020-06-26 18:28:35
字體:
供稿:網(wǎng)友
試用過的Visual CHM,Power CHM,Easy CHM也非常令人失望。看來還是自給自足吧。本文介紹的方法不一定適用于所有用戶,看不懂的同學(xué)一律不要提問和請(qǐng)教
 
在眾多文本編輯器中,Microsoft的Word是功能很強(qiáng)大的。況且XP PRO本身支持VBS調(diào)用Word文檔對(duì)象,那么使用VBS是最好不過的了。思路如下:VBS打開Word,Word打開TXT,另存為網(wǎng)頁,退出。 

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

如果電腦中安裝了Word,那么用VBS打開Word其實(shí)很簡(jiǎn)單,如下: 

Set objWord = CreateObject("Word.Application") 
objWord.Visible = True 

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

Document object 打開的文檔對(duì)象 

Selection object 默認(rèn)選擇對(duì)象 

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

2. 使用Word實(shí)例打開TXT 

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

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

現(xiàn)在已經(jīng)打開一個(gè)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后默認(rèn)字體大小為10.5磅,這個(gè)值在網(wǎng)頁中是很小的,合適的值是13~15磅,所以需要更改字體大小,同時(shí)還需要更改一下默認(rèn)的西方字體,這里選用--Times New Roman: 

Set oRange = objDoc.Range() 
oRange.Font.Size = "13" 
oRange.Font.Name = "Times New Roman" 

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

Set oSelection = objWord.Selection 
oSelection.HomeKey wdStory, wdMove 
oSelection.Style = objWord.ActiveDocument.Styles("標(biāo)題 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 標(biāo)準(zhǔn) HTML 格式。 
wdFormatRTF 6 RTF 格式。 
wdFormatTemplate 1 Word 模板格式。 
wdFormatText 2 Microsoft Windows 文本格式。 
wdFormatTextLineBreaks 3 Windows 文本格式,并且保留換行符。 
wdFormatUnicodeText 7 Unicode 文本格式。 
wdFormatWebArchive 9 Web 檔案格式。 
wdFormatXML 11 可擴(kuò)展標(biāo)記語言 (XML) 格式。 
wdFormatDocument97 0 Microsoft Word 97 文檔格式。 
wdFormatDocumentDefault 16 Word 默認(rèn)文檔文件格式。對(duì)于 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實(shí)例退出: 

objWord.Quit 

3. 完整代碼 
復(fù)制代碼代碼如下:

' ******************************************************************************** 
' 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("標(biāo)題 1") 

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

objDoc.SaveAs oPath & ".htm", 10 
objDoc.Close 

objWord.Quit 

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

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

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 沙田区| 嵩明县| 武强县| 崇仁县| 静乐县| 大竹县| 隆化县| 西畴县| 忻城县| 满城县| 遂宁市| 湾仔区| 农安县| 眉山市| 德州市| 弋阳县| 榆社县| 宁远县| 洛隆县| 当雄县| 长泰县| 海安县| 苗栗市| 梁平县| 高淳县| 林芝县| 沂源县| 大埔县| 黄大仙区| 安化县| 吐鲁番市| 呈贡县| 天柱县| 泗阳县| 延吉市| 滨海县| 从化市| 谢通门县| 漳平市| 雷波县| 元朗区|