yahooで漢字(2バイトコード)をうまく自動変換してくれないみたいなので、
http://search.yahoo.co.jp/search?p=%E6%B4%A5%E8%BB%BD%E3%83%AA%E3%83%B3%E3%82%B4
と渡すと、OKみたいです。
なので、
【ハウツー】Excel VBAでWebサービス - ExcelでJScriptの機能を利用しよう (1) はじめに | パソコン | マイナビニュース
を参考にして、
津軽リンゴを%E6%B4%A5%E8%BB%BD%E3%83%AA%E3%83%B3%E3%82%B4に変換して、
q=の後ろにつなげて Webクエリーに渡してみては?
'VBA から javaScriptのencodeURIを使うテスト ' 先に http://news.mynavi.jp/articles/2012/03/25/vba/index.html を見てください。 'エンコード元の文字列を受け取り、javaScriptのencodeURIで変換して返す Function JavaScript_encodeURI(strMOJI As String) As String '検索文字をJavaScriptのencodeURI関数で作る Dim strPARA As String 'パラメーター Dim sc As Object Set sc = CreateObject("ScriptControl") sc.Language = "Jscript" 'JavaScriptを指定(書き間違えないでね) strPARA = sc.CodeObject.encodeURI(strMOJI) 'encodeURI関数を呼ぶ Set sc = Nothing Debug.Print strPARA JavaScript_encodeURI = strPARA '変換結果を返す End Function Sub MAIN0405() '検索文字を入力 ※本当は、ここはセルから取得ですね・・・ Dim strWORD As String strWORD = InputBox("キーワード=", "入力", "津軽リンゴ") '変換処理を呼ぶ Dim strPARA As String strPARA = JavaScript_encodeURI(strWORD) 'キーワードを渡し結果を受け取る '確認 手抜きで Shell でWebページを表示する Dim strURL As String 'URL+変換したパラメーターでサーチする strURL = "http://search.yahoo.co.jp/search?p=" & strPARA Call Shell("explorer.exe """ & strURL & """", vbNormalFocus) 'これが、うまく Webクエリーで応用できたらいいんだけど・・・ End Sub
※ http://www.ken3.org/vba/backno/vba162.html を 少し修正
うまいこと、Webクエリーのパラメーターとして、渡せるといいなぁ・・と思いつつ失礼します。
▽2
●
ken3memo ●250ポイント ベストアンサー |
ごめんなさい、複雑なVBAの方へ脱線させてしまって、
文字が化けるので、文字コードから攻めた方が良かったみたいです。
を参考に(他のオプションもみてください。)
だまされたと思って、
http://search.yahoo.co.jp/search?ei=Shift_JIS&p=津軽リンゴ
↑を実行してみてください。
原因が
http://search.yahoo.co.jp/search?p=津軽リンゴ
だと、文字化けなので、
文字を指定した、
ei=Shift_JIS の オプションを付けると、大丈夫な感じです。
テスト
http://search.yahoo.co.jp/search?ei=Shift_JIS&p=魚沼こしひかり
http://search.yahoo.co.jp/search?ei=Shift_JIS&p=プログラミング
http://search.yahoo.co.jp/search?ei=Shift_JIS&p=横浜
なので、
webクエリーを作成するときに
ei=Shift_JIS 付きで作成してみてください。
※VBAは忘れてください・・・(ぉぃぉぃ)