重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

お世話になります、
Google、Yahoo検索する
プログラム(検索文字をテキスト
ボックスから入力して)
を作成したのですが、Googleは
OKなのですがYahooが検索文字が
化けます。PHPのようにエンコーディング
する必要があるのでしょうか?
ソースは以下の通りです。
Dim ie As Object
Set ie = CreateObject("InternetExplorer.Application")
'
With ie
'検索エンジンを判断する
If Option1.Value = True Then
'Google
.Navigate "http://www.google.co.jp/search?q=" & Text1.Text
Else
'Yahoo
.Navigate "http://search.yahoo.co.jp/search?p=" & Text1.Text
End If
'
.Visible = True
'
End With
宜しくお願いいたします。

A 回答 (3件)

EUC に URL エンコードしてあげる必要があります。


こちらにサンプルがあります。
http://www.geocities.co.jp/SilkRoad/4511/vb/urle …

ちなみに google では utf-8 で処理してるからそのままでも問題が起きていないんでしょうね。
上記のエンコードの機能を導入するのなら、google の場合は utf-8 エンコードしてもいいのでは?
    • good
    • 0
この回答へのお礼

有難うございました。
サイトのソース見て動きそうなので
とりあえず、今コピーして
確認しました。OKです。
これを参考にして関数作成します。

お礼日時:2007/07/11 20:04

この手のプログラミングなんて全然分からないけど検索クエリなら少しは分かりますので回答。


(ウェブページに検索ボックスを埋め込む実験を行ったことがある)
文字化けが起こる場合はURLにei=[文字コード]のパラメータを追加すると上手く行くかもしれません。
http://search.yahoo.co.jp/search?ei=EUC-JP&p=
    • good
    • 0

原因は判らず、直接の答えではないのですが、


エクセルVBAでやってみました。
Sheet1にテキストボックス1つ、オプションボタン1つ張り付け、オプションボタンをOn、Offにして、適当にテキストボックスに文字を入れて実行しました。
エクセルVBAであるために、コントロール名が一部変わっていますがご質問どおりのコードです。
Sub test02()
Dim ie As Object

Set ie = CreateObject("InternetExplorer.Application")
'
With ie
'検索エンジンを判断する
' MsgBox Worksheets("Sheet1").OptionButton1.Value
If Worksheets("Sheet1").OptionButton1.Value = True Then
'Google
MsgBox "goo"
.Navigate "http://www.google.co.jp/search?q=" & _
Worksheets("Sheet1").TextBox1.Text
Else
'Yahoo
.Navigate "http://search.yahoo.co.jp/search?p=" & _
Worksheets("Sheet1").TextBox1.Text
End If
'
.Visible = True
'
End With
End Sub
どちらも、私の場合(IE7.0)文字化けはありませんでした。
ご参考までに。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!