2

目前我正在尝试编写一个函数来将数据发布到 VBS 中的 IE 窗口。我正在尝试修改我在 VBA 中编写的一个运行良好的函数:

Sub IEPostStringRequest(URL As String, FormData As String, WebBrowser As InternetExplorer, TargetName As String)
  'Send the form data To URL As POST request
  Dim bFormData() As Byte
  ReDim bFormData(Len(FormData) - 1)

  bFormData = StrConv(FormData, vbFromUnicode)

  WebBrowser.Navigate URL, 2 + 4 + 8, TargetName, bFormData, _
    "Content-type: application/x-www-form-urlencoded" + Chr(10) + Chr(13)
  WebBrowser.Navigate
End Sub

您向它发送一个 URL、作为 FormData 的查询字符串、一个已经存在的 InternetExplorer 对象和一个目标框架,然后它将发布请求发送到该框架。但是,StrConv 在 VBS 中不起作用,我还没有找到合适的替代品。似乎必须有更好的方法,因为发送 post 请求相当简单。我应该怎么办?

4

1 回答 1

0

尝试ADODB.StreamActiveX 将字符串转换为二进制字节数组:

With CreateObject("ADODB.Stream")
    .Open
    .Type = 2 ' adTypeText
    .Charset = "us-ascii"
    .WriteText FormData
    .Position = 0
    .Type = 1 ' adTypeBinary
    bFormData = .Read
    .Close
End With
于 2016-08-28T20:20:59.560 回答