微软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) 
+0

工作过一种享受Arce,谢谢 – Saul 2011-01-22 20:19:20