• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:マクロ グーグルモバイル)

マクロでエクセルのセルに検索文字を入力し、文字化けする問題について

このQ&Aのポイント
  • エクセルのマクロを使用して、セルに検索したい文字を入力すると、文字化けしてしまう問題が発生しています。
  • グーグル検索のマクロを作成する際に、エスケープ処理が必要なのかどうか検討しています。
  • PC版のグーグルでは同じコードが正常に動作するため、エクセル側の問題である可能性があります。

質問者が選んだベストアンサー

  • ベストアンサー
  • DOUGLAS_
  • ベストアンサー率74% (397/534)
回答No.2

[ANo.1] の DOUGLAS_ です。 >ヤフーPCもエンコードしないとできないみたいなので、 >教えていただいたマクロでヤフーPCをやってみたところ >エンコードされず、文字化けしてしまった  恐らく、検索URL の文字列が間違っているのではないでしょうか?  試したところ、下記でいけました。 CreateObject("Wscript.Shell").Run "http://search.yahoo.co.jp/search?p=" & UrlEncodeUtf8(ActiveCell.Value), 1

aslikethat
質問者

お礼

できました^^ urlencodeが抜けていました。 DOUGLASさん今回は大変ありがとうございました。 また機会があればよろしくお願いします。

その他の回答 (1)

  • DOUGLAS_
  • ベストアンサー率74% (397/534)
回答No.1

◆◆google mobile における URLエンコード の是非◆◆ >エクセルに入力されている文字を一度エスケープにしないと無理 のようですね。  ただし、論拠は発見しておりません。 >エスケープにしないと無理なのでしょうか?  このご質問の趣旨が、エスケープ(エンコード)の方法ではなくて、その是非をお問い合わせになっていらっしゃるのでしたら、これ以降はスルーなさってください。 ◆◆エクセル VBA での URLエンコード の方法◆◆ ●VB6・VBAで簡単にURLエンコード・デコードする方法 http://komet163.blog36.fc2.com/blog-entry-18.html に、ちょうどよいサンプルが載っていますので、 CreateObject("Wscript.Shell").Run "http://google.com/m?q=" & ActiveCell.Value, 1 以下を CreateObject("Wscript.Shell").Run "http://google.com/m?q=" & UrlEncodeUtf8(ActiveCell.Value), 1 End Sub Public Function UrlEncodeUtf8(ByRef strSource As String) As String Dim objSC As Object Set objSC = CreateObject("ScriptControl") objSC.Language = "Jscript" UrlEncodeUtf8 = objSC.CodeObject.encodeURIComponent(strSource) Set objSC = Nothing End Function としてお試しください。

aslikethat
質問者

補足

DOUGALASさん、ご回答ありがとうございます。 教えていただいたマクロをやってみたところ、 問題なく一発でできました^^ わかりやすく丁寧にありがとうございました。 ヤフーPCもエンコードしないとできないみたいなので、教えていただいたマクロでヤフーPCをやってみたところエンコードされず、文字化けしてしまったのですが、なぜなのでしょうか? このPUBLIC FUNCTIONはグーグルモバイルにのみ適用されるとうことでしょうか?

関連するQ&A