8

VBAを使用してExcelからサーバーにHTTPPOSTリクエストを送信するにはどうすればよいですか?

また、 QueryTablesを使用してHTTPエンドポイントからデータを取得する方法を説明するMacOS対応の応答。単一の文字列を取得してセルに詰め込む方法を示します。

すべて良い。ここで、複数の値を取得したいと思います。これは大きなJSON文字列であり、1つ以上のセルにデータを入力する前にExcelVBA内で後処理したいと思います。

これはどのように可能ですか?

1つの方法を考えることができます。つまり、QueryTablesの結果を非表示のセルに配置し、非表示のセルを後処理して他のセルにデータを入力します。まだ評価していないVBA用のJSONライブラリがいくつかあります。

しかし、これはかなりハッキーなようです。本当に私はJSONを値としてセルに保存することに依存したくありません。VBAコードの変数にのみ保存した​​いのですが。CreateObject( "MSXML2.ServerXMLHTTP")を使用しているかのように。(注:CreateObject()は、MacOSのExcel内からは使用できません)。

そして、ここでの最良の答えは次のようになることを理解してい ます。Excel内でアプリを実行する場合は、Windowsマシンを入手してください。

4

1 に答える 1

10

Worksheets(0).QueryTableVBAでこのメソッドを実際に使用できます。マニュアルまたはグーグルでそれを見てください。したがって、json文字列をセルに保存する必要はありません。

または私は次のようなものを使用しました

Public Function GetWebSource(ByRef URL As String) As String
    Dim xml As IXMLHTTPRequest
    On Error Resume Next
    Set xml = CreateObject("Microsoft.XMLHTTP")
    With xml
        .Open "GET", URL, False
        .send
        GetWebSource = .responseText
    End With
    Set xml = Nothing
End Function

json文字列をダウンロードします。

パーサーを探しましょう。Excel VBAでJSONを解析するようなもので、ニーズを満たすことができます。

于 2013-03-01T18:20:08.953 に答える