セルの値を好きなブラウザでGoogle検索する
https://vbabeginner.net/google-search-cell-values/
このページのサンプルコード
------------------
Sub WebSearch()
Dim sApl '// ブラウザのパス
Dim sWord '// 検索キーワード
Dim sUrl '// Googleの検索URL
'// ブラウザのフルパスを指定
' sApl = "C:\Program Files\Internet Explorer\iexplore.exe"
' sApl = "C:\Program Files\Mozilla Firefox\firefox.exe"
sApl = "C:\Program Files\Google\Chrome\Application\chrome.exe"
'// 検索URLを指定
sUrl = "www.google.co.jp/search?q="
'// 検索キーワードを取得
sWord = ActiveCell.Value
'// ブラウザを起動してGoogle検索を行う
Call Shell(sApl & " " & sUrl & sWord)
End Sub
------------------------------------------
これを参考に、セルの値をグーグルで検索したいのですが、なぜかセルの中にキーワードを複数入れるとクロームのタブがキーワード数開いて検索されます。
例えば、セルの値には・・
「ダイエット 痩せる 方法」
このキーワードが入っているとします。
(スペースは半角)
マクロを実行すると、クロームのタブが3つ開きます。
1つ目のタブは・・・
www.google.co.jp/search?q=ダイエット
2つ目のタブ・・・
痩せる/
3つ目のタブは・・・
方法/
1つ目のタブはダイエットで検索されるのですが、なぜか、2つ目と3つ目のタブは「このサイトにアクセスできません」と出ます。
ちなみに全角のスペースキーを入れると正しく
「ダイエット 痩せる 方法」
このキーワードで検索されます。
そこで質問ですが、半角キーのスペースでも1つのタブで複数キーワードを検索したいのですが、どうすればいいでしょうか?
できれば、スペースが全角と半角、どちらでもできるようにしたいのですが・・・。
どの辺りをいじればいいのか分からないで、教えていただけないでしょうか?
No.2ベストアンサー
- 回答日時:
こんにちは。
原因は#1様の解説の通りですが、Excel には EncodeURL ワークシート関数が用意されています。以下の様にしてみて下さい。
'// 検索キーワードを取得
sWord = WorksheetFunction.EncodeURL(ActiveCell.Value)
多分 Excel2007 以降で使えると思います。それ以前の古いバージョンの Excel だと CreateObject("ScriptControl") を使った方法がありますが、Windows10 など最近の OS だと動かないかもしれません。
No.1
- 回答日時:
セパレーターを指定していないので、タブで開きに行ってますね。
半角スペースは、第一パラメータと第二パラーメータを分けるセパレーターになります。
で、分けられると
C:\Program Files\Google\Chrome\Application\chrome.exe www.google.co.jp/search?q=1つ目
C:\Program Files\Google\Chrome\Application\chrome.exe 2つ目
C:\Program Files\Google\Chrome\Application\chrome.exe 3つ目
という形でChromeが起動され別タブが開くのです。
全角スペースはセパレーターではないので、全角スペースを含む一つのパラメータとして認識されます。
・・・
では、半角スペースの場合はどうすれば良いのか……。
半角スペースを
”%20”
に置き換えましょう。
第一パラメーター%20第二パラメーター%20第三パラメーター
のようにするのです。
sWordに含まれる半角スペースを置換すればOK。
・・・
あるいは、sWord全体をダブルクォーテーションで囲んでしまう。
"第一パラメーター 第二パラメーター 第三パラメーター"
こうする。
(こっちのほうが簡単)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
youtubeのサムネイルを縦4列配...
-
Safariで、「プライベート」の...
-
新しいタブと新しいウィンドウ...
-
Excel tab入力方法
-
QRコードで複数セルに一括入力...
-
セルの値をグーグルで検索する...
-
firefoxで新しいウィンドウで開...
-
Firefoxで設定を「前回のウィン...
-
【Excel質問】 必要な行だけ別...
-
タブが500個以上あります。 そ...
-
ロータスノーツのメールの左上の絵
-
筆ぐるめ、 住所録一覧表が出ない
-
拡張子がTSV どんなファイルで...
-
最近のGoogle Chromeのデータ読...
-
Firefox タブ名を表示させたくない
-
PDFファイルのプロパティにて、...
-
YAHOOメールが別ウィンドウで開く
-
iPadでiCloud ドライブ内のファ...
-
[Ctrl]押しながら[w]でタブが消...
-
Firefoxで一斉読み込み開始をさ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Safariで、「プライベート」の...
-
タブの消し方
-
youtubeのサムネイルを縦4列配...
-
新しいタブと新しいウィンドウ...
-
Excel tab入力方法
-
QRコードで複数セルに一括入力...
-
Firefoxで設定を「前回のウィン...
-
セルの値をグーグルで検索する...
-
firefoxで新しいウィンドウで開...
-
筆ぐるめ、 住所録一覧表が出ない
-
firefoxで新しいタブを今開いて...
-
メモ帳のタブ幅を変更する方法
-
クロームのタブが勝手に閉じら...
-
違法ダウンロードしたことにな...
-
Android でタブを複製する方法...
-
パソコン バツを押すと全部消え...
-
Accessで独自メニューバーまた...
-
ブラウザが突然閉じてしまう・...
-
ウェブサイトにアップされてい...
-
accessタブコントロールのタブ...
おすすめ情報
銀鱗さん
回答ありがとうございます。
当方、VBAのことがほとんど分かっていない状態です。もう少し詳しく教えていただけないでしょうか?
出来たらコードを教えてもらうと嬉しいです。
それと、セルの値ですが、キーワードはいつも3つだけとは限りません。
2つの時もあれば、4つの時もあります。
すいませんが、よろしくお願いします。