Vba 谢谢你的意见。我已经完成了描述的操作,但仍然在这一行中遇到一个错误:xmlhttp.send data。它说明:在调用send方法后无法调用此方法。我们需要缩小范围…如果您在新文档中重新开始并复制/粘贴我的确切代码,是否仍会遇到错误?如果它能工作,那么代码

Vba 谢谢你的意见。我已经完成了描述的操作,但仍然在这一行中遇到一个错误:xmlhttp.send data。它说明:在调用send方法后无法调用此方法。我们需要缩小范围…如果您在新文档中重新开始并复制/粘贴我的确切代码,是否仍会遇到错误?如果它能工作,那么代码,vba,ms-word,qnamaker,Vba,Ms Word,Qnamaker,谢谢你的意见。我已经完成了描述的操作,但仍然在这一行中遇到一个错误:xmlhttp.send data。它说明:在调用send方法后无法调用此方法。我们需要缩小范围…如果您在新文档中重新开始并复制/粘贴我的确切代码,是否仍会遇到错误?如果它能工作,那么代码中的某个地方就有问题了……也许脚本会被连续多次调用? Sub copyAnswer() 'User Settings Dim questionWorksheetName As String, questionsColumn As String


谢谢你的意见。我已经完成了描述的操作,但仍然在这一行中遇到一个错误:xmlhttp.send data。它说明:在调用send方法后无法调用此方法。我们需要缩小范围…如果您在新文档中重新开始并复制/粘贴我的确切代码,是否仍会遇到错误?如果它能工作,那么代码中的某个地方就有问题了……也许脚本会被连续多次调用?
Sub copyAnswer()

'User Settings
Dim questionWorksheetName As String, questionsColumn As String, 
firstQuestionRow As String, kbHost As String, kbId As String, endpointKey 
As String
Dim str As String

str = Selection.Text

    kbHost = "https://rfp1.azurewebsites.net/********"
    kbId = "********-********-*********"
    endpointKey = "********-********-********"

'Loop through all non-blank cells
Dim answer, score As String
Dim myArray() As String
Dim obj As New DataObject

        answer = GetAnswer(str, kbHost, kbId, endpointKey)

        Call ClipBoard_SetData(answer)
End Sub

Function GetAnswer(question, kbHost, kbId, endpointKey) As String
'HTTP Request Settings
Dim qnaUrl As String
    qnaUrl = kbHost & "/knowledgebases/" & kbId & "/generateAnswer"
Dim contentType As String
    contentType = "application/json"
Dim data As String
    data = "{""question"":""" & question & """}"

'Send Request
Dim xmlhttp As New MSXML2.XMLHTTP60

xmlhttp.Open "POST", qnaUrl, False
    xmlhttp.setRequestHeader "Content-Type", contentType
    xmlhttp.setRequestHeader "Authorization", "EndpointKey " & endpointKey
**xmlhttp.send data**

'Convert response to JSON
Dim json As Scripting.Dictionary

Set json = JsonConverter.ParseJson(xmlhttp.responseText)

Dim answer As Scripting.Dictionary

For Each answer In json("answers")
'Return response
    GetAnswer = answer("answer")
Next

End Function

Private Function json_ParseObject(json_String As String, ByRef json_Index As Long) As Scripting.Dictionary
Dim json_Key As String
Dim json_NextChar As String

Set json_ParseObject = New Scripting.Dictionary
json_SkipSpaces json_String, json_Index

...
Dim json As Scripting.Dictionary