Как я могу отправить запрос HTTP POST на сервер из Excel с помощью VBA?

Если вам нужно, чтобы он workbook работал как на Mac, так и vba на Windows, вы можете использовать vba-macros QueryTables:

With ActiveSheet.QueryTables.Add(Connection:="URL;http://carbon.brighterplanet.com/flights.txt", Destination:=Range("A2"))
    .PostText = "origin_airport=MSN&destination_airport=ORD"
    .RefreshStyle = xlOverwriteCells
    .SaveData = True
    .Refresh
End With

Примечания:

  • Что касается вывода ... Я не знаю, можно ли вернуть результаты в ту же ячейку, которая вызвала функцию VBA. В приведенном выше примере результат записывается в A2.
  • Что касается ввода ... Если вы хотите, чтобы результаты обновлялись при изменении определенных ячеек, убедитесь, что эти ячейки являются аргументом вашей функции VBA.
  • Это не будет работать в Excel для Mac 2008, в котором нет VBA. В Excel для Mac 2011 вернулся VBA.

Более macros-vba подробную информацию вы можете post найти в моем полном обзоре workbook о "using web services from Excel."

excel

vba

http

post

serverxmlhttp

2022-11-12T02:20:21+00:00