昔作ったコードが出てきたので投稿。
メール等の文章を書いていて今ひとつしっくり来ないことがある。
そんなときはWeblioの類義語辞典で違う表現を探してみよう。
とはいえ、ページを開くのは面倒くさいので、マクロでサクッと調べられないかということで作ったのが以下のコード。標準モジュールに貼り付けてtestを実行すると、Weblioの類義語から"難しい"に対応する類義語を引っ張ってくる。単にURLを変えれば和英辞典も使える。
WordやOutlookのVBAでも問題無く動作するので、使いようによっては役に立つかもしれない。
ただし取得したデータはhtmlソースそのままなので、実用的に使用するには正規表現などで加工する必要がある。
Option Explicit 'テストコード Sub test() MsgBox GetHTML("難しい") End Sub 'これがメインのhtml取得処理 Function GetHTML(str As String) As String Dim EncodedKeyword As String EncodedKeyword = urlEncode(str) Dim xmlHttp Set xmlHttp = CreateObject("Msxml2.XMLHTTP") xmlHttp.Open "GET", "http://thesaurus.weblio.jp/content/" & EncodedKeyword, False xmlHttp.send Dim html As String html = xmlHttp.responseText Set xmlHttp = Nothing GetHTML = html End Function 'これは2バイト文字をパーセントエンコーディングする関数 Function urlEncode(str As String) As String Dim sc, js As Object Set sc = CreateObject("ScriptControl") sc.Language = "Jscript" Set js = sc.CodeObject urlEncode = js.encodeURIComponent(str) End Function
参考にしたのは確か、こちらのページ。(うろ覚えで申し訳ない)
VBAでWebページを取得する方法
http://komet163.blog36.fc2.com/blog-entry-18.html
※ScriptControlが64ビットOSで動かないという情報もあったので、64ビットの方は別途調べてください。