微软Word VBA,试图从一个HTTP调用用数据填充组合框
问题描述:
我用下面的代码填充ComboBox在Word 2003中微软Word VBA,试图从一个HTTP调用用数据填充组合框
Private Sub UserForm_Initialize()
ComboBox1.List = Array("Red", "Green", "Yellow", "Blue")
End Sub
我想什么做的是获取数据动态地通过http调用。这等功能似乎工作通过HTTP来获取数据
Dim MyRequest As Object
Set MyRequest = CreateObject("WinHttp.WinHttpRequest.5.1")
MyRequest.Open "GET", _
"http://localhost:8500/test7.htm"
' Send Request.
MyRequest.Send
'And we get this response
MsgBox MyRequest.ResponseText
test7.htm只包含
"Red", "Green", "Yellow", "Blue"
我希望把两者结合起来,但低于不起作用
Private Sub UserForm_Initialize()
Dim MyRequest As Object
Set MyRequest = CreateObject("WinHttp.WinHttpRequest.5.1")
MyRequest.Open "GET", _
"http://localhost:8500/test7.htm"
' Send Request.
MyRequest.Send
ComboBox1.List = Array(MyRequest.ResponseText)
End Sub
任何帮助的VBA小老鸭赞赏
答
该响应文本应该是一个简单的逗号分隔字符串,像
红,绿,黄,蓝
因此,你可以用下面的方法来填充组合框:
Private Sub populateComboBox(ByRef combo As ComboBox, ByRef html As String)
Dim arrayValues() As String, index As Integer
arrayValues = Split(Trim(html), ",")
For index = LBound(arrayValues) To UBound(arrayValues)
combo.AddItem (arrayValues(index))
Next
End Sub
要调用该方法,您可以使用以下语句。
Call populateComboBox(Combo1, MyRequest.ResponseText)
工作过一种享受Arce,谢谢 – Saul 2011-01-22 20:19:20