中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用vbs實現TXT轉HTM、HTML

發布時間:2021-10-12 10:38:35 來源:億速云 閱讀:172 作者:小新 欄目:開發技術

這篇文章主要為大家展示了“如何使用vbs實現TXT轉HTM、HTML”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“如何使用vbs實現TXT轉HTM、HTML”這篇文章吧。

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

1. VBS調用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中僅可以調用兩個Word的子集:

Document object 打開的文檔對象

Selection object 默認選擇對象

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

2. 使用Word實例打開TXT

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

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

現在已經打開一個TXT了,Format=5即是說TXT是Unicode的:

─────────────────────────────────────────────────────────────────
wdOpenFormatAllWord 6 與 Word 早期版本向后兼容的 Microsoft Office Word 格式。
wdOpenFormatAuto 0 現有格式。
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磅,這個值在網頁中是很小的,合適的值是13~15磅,所以需要更改字體大小,同時還需要更改一下默認的西方字體,這里選用--Times New Roman:

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

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

Set oSelection = objWord.Selection
oSelection.HomeKey wdStory, wdMove
oSelection.Style = objWord.ActiveDocument.Styles("標題 1")

更改完成后,保存:

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

下面是wdSaveFormat常數列表:

─────────────────────────────────────────────────────────────────
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轉網頁,僅作轉換演示
' 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


如果要實現批量的多文本轉換,那么建議生成一個TXT文件列表,然后用FSO調用其中內容,依次轉換即可。

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

以上是“如何使用vbs實現TXT轉HTM、HTML”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚东县| 武川县| 集贤县| 昌图县| 洛南县| 从江县| 通化市| 河北区| 嘉定区| 凭祥市| 彰化县| 秦皇岛市| 西平县| 杭锦后旗| 许昌县| 湘潭市| 忻城县| 台山市| 丰都县| 平南县| 桂东县| 樟树市| 淮安市| 鹤岗市| 礼泉县| 万州区| 建湖县| 法库县| 安多县| 肥东县| 酉阳| 漳州市| 罗城| 固镇县| 江孜县| 嵊泗县| 勐海县| 普陀区| 井冈山市| 大荔县| 鄂托克前旗|