以前、秀丸エディタで、HTMLデータの中から、テキスト部分を抽出したいときがあって、HTMLのタグの構造を解析したり、特殊文字を変換するような秀丸エディタのマクロを作ったりしていました。
ただ、変換にきりがなく困っていましたが、うすだ ひさし さんの「WSH を使った VBScript いろいろ」を見つけて、IEにテキスト変換をさせることができることを知りました。
まずは、そのままの処理を変形したりしたVBSですが、このあとは、秀丸エディタ上のデータを、一度、テンポラリファイルに保存して、それをIEに読み込ませれば、良いのではないかと考えるようになっています。(なお、秀丸上で範囲選択をしていれば、その範囲を変換して、クリップボードに入れたいと考えています。ただ、範囲選択をしていない場合には、変換対象をカレントのファイル内容全体か、もしくは、今のクリップボードの内容かを選択させたいと考えています。
------------
'Html2Txt.vbs
' v0.00
'参考
'http://www.usupi.org/win/wsh.html
'IE を使って HTML をテキストに変換する
Dim strURL
strURL = InputBox("URL: ", "Html2Txt")
Html2Txt()
Sub Html2Txt()
Dim objIE
If strURL = "" Then
MsgBox "Null string", , "Error!"
Else
set objIE = WScript.CreateObject("InternetExplorer.Application")
objIE.Navigate (strURL)
Do While objIE.busy
Loop
Do While objIE.Document.readyState <> "complete"
Loop
MsgBox (objIE.Document.Body.innerText)
MsgBox (objIE.Document.Body.innerHTML)
Set objIE = Nothing
End If
End Sub
ただ、変換にきりがなく困っていましたが、うすだ ひさし さんの「WSH を使った VBScript いろいろ」を見つけて、IEにテキスト変換をさせることができることを知りました。
まずは、そのままの処理を変形したりしたVBSですが、このあとは、秀丸エディタ上のデータを、一度、テンポラリファイルに保存して、それをIEに読み込ませれば、良いのではないかと考えるようになっています。(なお、秀丸上で範囲選択をしていれば、その範囲を変換して、クリップボードに入れたいと考えています。ただ、範囲選択をしていない場合には、変換対象をカレントのファイル内容全体か、もしくは、今のクリップボードの内容かを選択させたいと考えています。
------------
'Html2Txt.vbs
' v0.00
'参考
'http://www.usupi.org/win/wsh.html
'IE を使って HTML をテキストに変換する
Dim strURL
strURL = InputBox("URL: ", "Html2Txt")
Html2Txt()
Sub Html2Txt()
Dim objIE
If strURL = "" Then
MsgBox "Null string", , "Error!"
Else
set objIE = WScript.CreateObject("InternetExplorer.Application")
objIE.Navigate (strURL)
Do While objIE.busy
Loop
Do While objIE.Document.readyState <> "complete"
Loop
MsgBox (objIE.Document.Body.innerText)
MsgBox (objIE.Document.Body.innerHTML)
Set objIE = Nothing
End If
End Sub
※コメント投稿者のブログIDはブログ作成者のみに通知されます