人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

EXCEL VBAについて下記のスクリプトを手直しして下さい。

A列の文字列をヤフオクで検索するというプログラミングを下記のように作りました。
-----------------------------
i = 2
Do Until Range("B" & i) = ""
Range("B" & i).Select
CreateObject("Wscript.Shell").Run "http://auctions.search.yahoo.co.jp/search?ei=UTF-8&p=" & ActiveCell.Value, 1
i = i + 1
Loop
-----------------------------
ところが、A列に「人力検索 はてな」という文字列が入ってたとすると、
「人力検索」として検索してしまいます。
つまり、文字列と文字列の間にスペースがあると、そこで区切られてしまい、
最初の文字列でしか検索だけで検索してしまいます。
これを「人力検索 はてな」と検索できるようスクリプトを変更して下さい。

環境はwindows7、Excel2013です。
よろしくお願いします。

●質問者: taroemon
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● a-kuma3

Excel は 32bit 版でしょうか。
こんな感じにすると、期待通りに動くと思います。

' こんな関数を定義する
Private Function EncodeURL(ByVal str As String) As String

 Dim objSC As Object
 Set objSC = CreateObject("ScriptControl")
 objSC.Language = "Jscript"

 EncodeURL = objSC.CodeObject.encodeURIComponent(str)

 Set objSC = Nothing

End Function



Sub Hoge()

 i = 2
 Do Until Range("B" & i) = ""
 Range("B" & i).Select
  ' ActiveCell.Value を EncodeURL 関数で変換する
 CreateObject("Wscript.Shell").Run "http://auctions.search.yahoo.co.jp/search?ei=UTF-8&p=" & _
 EncodeURL(ActiveCell.Value), 1
  ' ↑見切れちゃうので、複数行にしましたが、一行にしても大丈夫です

 i = i + 1
 Loop

End Sub
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ