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です。
よろしくお願いします。
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件)