效果展示
代码实现
Function QhBaiDuYunAIReq(question, _Optional Authorization = "Bearer ", _Optional Qhurl = "https://qianfan.baidubce.com/v2/chat/completions")Dim XMLHTTP As ObjectDim url As Stringurl = Qhurl '这里替换为你实际的URLDim postData As String
' postData = "model=deepseek-r1&" & "messages=[]" '这里设置POST请求的数据requestBody = "{""model"":""deepseek-r1"",""messages"":[{""role"":""user"",""content"":""" & question & """}]}"Set XMLHTTP = CreateObject("MSXML2.XMLHTTP.6.0")XMLHTTP.Open "POST", url, FalseXMLHTTP.setRequestHeader "Content-Type", "application/json"XMLHTTP.setRequestHeader "Authorization", AuthorizationXMLHTTP.send requestBody' Debug.Print XMLHTTP.responseText' MsgBox QhReqText02If XMLHTTP.Status = 200 ThenQhReqText = XMLHTTP.responseTextQhReqText01 = Split(QhReqText, """content"":""")(1)QhReqText02 = Split(QhReqText01, """},""finish_reason")(0)QhReqText02 = Replace(QhReqText02, "\u003cthink\u003e\n\n\u003c/think\u003e\n\n", vbCrLf) '替换不必要的内容QhReqText02 = Replace(QhReqText02, "\n", vbCrLf) ' 回车转义符转vba的' Debug.Print XMLHTTP.responseTextElse
' Debug.Print "请求失败,状态码: " & XMLHTTP.StatusMsgBox "请求失败,状态码: " & XMLHTTP.Status & vbCrLf & "检查你是否更新你的ApiKey,阙辉!"End IfSet XMLHTTP = NothingQhBaiDuYunAIReq = QhReqText02
End FunctionSub QhBaiDuYunAI()Authorization0 = "**************" ' 你的百度云ApiKeyAuthorization0 = "Bearer " & Authorization0question0 = Sheets("百度云AI_deepseek").Range("B2")Sheets("百度云AI_deepseek").Range("B7") = "思考中,请勿操作Excel,QH!"Sheets("百度云AI_deepseek").Range("B9") = QhBaiDuYunAIReq(question0, Authorization0)Sheets("百度云AI_deepseek").Range("B7") = ""
End Sub