Board logo

标题: [原创]vbs的htm2txt [打印本页]

作者: electronixtar     时间: 2006-5-23 19:09    标题: [原创]vbs的htm2txt

积极响应斑竹 3742668 的号召!
'By est electronicstar@126.com

On Error Resume Next
sTitle="html2txt"

GetHtmlFileName: '输出:HtmlFileName,包含文件完整路径
'从参数或对话框获得文件
If WScript.Arguments.Count=0 Then
        Set objDialog = CreateObject("UserAccounts.CommonDialog")
    objDialog.Filter = "HTML源文件件|*.html;*.htm|所有文件|*.*"
    objDialog.ShowOpen
    HtmlFileName = objDialog.FileName
    If len(HtmlFileName)=0 Then
            wscript.Quit
    End If
Else
        If Len(WScript.Arguments(0).Length)> 3 Then
                HtmlFileName = WScript.Arguments(0)
        End If
End If
'验证文件是否有效
Set fso        =CreateObject("scripting.FileSystemObject")
If fso.FileExists(HtmlFileName)=False Then
        MsgBox "文件不存在!",vbOKOnly, sTitle
        WScript.Quit
End If
If Not left(fso.GetFile(HtmlFileName).Type ,4) = "HTML" Then
        MsgBox "请不要选择一个非HTML文件!",vbOKOnly, sTitle
        WScript.Quit
End If

Set HtmlFile=fso.GetFile(HtmlFileName)

ConvertHtmlToTxt:
'获取文件扩展名
i=ubound(split(HtmlFileName,"."))
ext=split(HtmlFileName,".")(i)
SaveName=Left (HtmlFileName,Len(HtmlFileName)-Len(ext)-1)

Set oHtml=CreateObject ("internetexplorer.application")
oHtml.Navigate HtmlFileName
oHtml.Document.execCommand "saveas","true",SaveName & ".txt"
oHtml.Quit
WScript.Quit
本人技术水平拙劣,请大家狠狠批评指教!

其实精华就一句话:哈哈~~
oHtml.Document.execCommand "saveas","true",SaveName & ".txt"
[ Last edited by electronixtar on 2006-5-23 at 19:12 ]
作者: vkill     时间: 2006-9-6 03:51
谢谢楼主,下回去用
作者: NaturalJ0     时间: 2006-10-18 11:07
非常实用,下回去学学,用用。
作者: lxmxn     时间: 2006-10-18 13:55

  这个蛮实用的......

  copy回去边用边学习学习咯.......

  Thanks a lot....


[ Last edited by lxmxn on 2006-10-18 at 15:10 ]
作者: 3742668     时间: 2006-10-19 01:53

Set objIE = CreateObject("InternetExplorer.Application")
    objIE.Navigate "file://C:\Documents and Settings\xxx\桌面\abc.html"
    WScript.Echo objIE.Document.Body.InnerText
    objIE.Quit
    Set objIE = Nothing
用这种方法可以指定读取的部分,不过需要对html有一定的了解。
至于喜欢使用哪种方法,那就见仁见智了.
作者: electronixtar     时间: 2006-11-7 23:42
我也来一个改进版的,支持拖放 和 绝对路径、及http开头的URL。

htm2txt
set oDOM = WScript.GetObject(WScript.Arguments(0))

do until oDOM.readyState = "complete"
WScript.sleep 200
loop

WScript.Echo oDOM.Body.InnerText
使用实例:
cscript //NoLogo //e:vbscript htm2txt.vbs ms-its:C:\WINDOWS\Help\ntcmds.chm::/ntcmds.htm > "%UserProfile%\桌面\Nt命令行.txt"

cscript //NoLogo //e:vbscript http://www.Google.com > "%UserProfile%\桌面\Google首页.txt"

[ Last edited by electronixtar on 2006-11-7 at 11:56 PM ]
作者: redtek     时间: 2006-11-7 23:58
精彩到吐血~~收藏~~:)
作者: iamsunman     时间: 2007-2-28 17:11
学习》》》》
作者: slore     时间: 2007-2-28 22:51
意义不大
作者: Kinglion     时间: 2007-2-28 23:40
针对加密的HTM文件此脚本还有许多改进之处呀。
作者: zzmwmh     时间: 2007-3-1 05:02
不会看阿,我真菜
作者: cjiabing     时间: 2010-3-1 16:20
请提示一下如何使用?弹出了一个对话框,要求打开,我打开网页,没见任何动静???