CODE: [Copy to clipboard]
' TAB制表符在HTML文档不存在,以几个空格代替
Const TAB_LENGTH = 8
Dim textFile, htmlFile, tempText, tabSpace
'显示信息
If WScript.Arguments.Count < 1 Then
MsgBox " ==== TEXT 转 换 HTML ==== " & vbCrLf & vbCrLf & _
" txt2html.vbs [TextFileName [HtmlFileName]]" _
, 4160, "『据说是李先生』"
WScript.Quit
End If
'TXT源文件为第一个参数
textFile = WScript.Arguments(0)
'如果有第二个参数则当做目标HTML文件路径
If WScript.Arguments.Count > 1 Then htmlFile = WScript.Arguments(1)
'TAB制表符
For tempText = 1 To TAB_LENGTH
tabSpace = tabSpace & " "
Next
'读取TXT文件内容并替换其中的TAB为空格,如果发生错误则退出
On Error Resume Next
With CreateObject("Scripting.FileSystemObject")
tempText = .OpenTextFile(textFile, 1, False).ReadAll
textFile = .GetFile(textFile).Path
If Err.Number <> 0 Then
MsgBox "读取文件 [" & textFile & "] 失败!" & vbCrLf & vbCrLf & _
Err.Description, 4112, "错误"
WScript.Quit
End If
End With
tempText = Replace(tempText, vbTab, tabSpace)
On Error GoTo 0
Err.Clear
'利用浏览器对象自己的方法来转换TXT到HTML
With CreateObject("InternetExplorer.Application")
.navigate "about:blank"
.visible = 0
.document.body.innerText = tempText
tempText = .document.documentElement.outerHTML
.Quit
End With
'如果指定了输出文件路径则将结果保存到文件,否则直接显示结果(wscript在对话框,cscript在控制台)
If Len(htmlFile) > 0 Then
CreateObject("Scripting.FileSystemObject").CreateTextFile(htmlFile, True).Write tempText
Else
WScript.Echo tempText
End If
保存为扩展名为 .vbs