質問: "param1=127&param2=154&param3=522&param4=112" 'POSTでオープン objXmlHttp.Open "POST", url, False 'httpヘッダの設定(POSTの場合は必要らしい) Call objXmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded") 'パラメータの送信 objXmlHttp.send (param) End Sub ```
回答: param ("param1=127&param2=154&param3=522&param4=112")には、&や=などの文字が含まれているのに、URLエンコードをしないまま使った事が原因だと思います。 param="param1%3D127%26param2%3D154%26param3%3D522%26param4%3D112" としてみてください。 引用符の中は、"param1=127&param2=154&param3=522&param4=112"をURLエンコードしたものです。 == お使いのExcelがExcel 2013であれば、URLエンコードをする関数が追加されていますから、 param = "param1=127&param2=154&param3=522&param4=112" の次に、URLエンコードするコード param = Application.WorksheetFunction.EncodeURL(param) を追加すればOK。 VBAでURLエンコードする方法は、いろいろありますので、Excel2013をお使いでなければGoogle検索してみてください。