看上去能用而已。
选中的文字作为输入,运行对应的宏即可;会先MSGBOX提示一下,然后相关内容追加到word文档中。
需要自己注册生成好用的apikey
Option ExplicitSub DeepSeek()Dim selectedText As StringDim apiKey As StringDim response As Object, re As StringDim midString As StringDim ans As StringDim URLIf Selection.Type = wdSelectionNormal ThenselectedText = Selection.TextselectedText = Replace(selectedText, ChrW$(13), "")apiKey = "nvapi--LlRnvapi-这里需要自己注册生成api key-LlR_nTfd" '"3f"URL = "https://integrate.api.nvidia.com/v1/chat/completions"Set response = CreateObject("MSXML2.XMLHTTP")response.Open "POST", URL, Falseresponse.setRequestHeader "Content-Type", "application/json"response.setRequestHeader "Authorization", "Bearer " + apiKeyresponse.Send "{""model"":""deepseek-ai/deepseek-r1"", ""messages"":[{""role"":""user"",""content"":""" & selectedText & """}], ""temperature"":0.7}"re = response.responseTextmidString = Mid(re, InStr(re, """content"":""") + 11)MsgBox reans = Split(midString, """")(0)ans = Replace(ans, "\n", "")Selection.Text = selectedText & vbNewLine & ansElseExit SubEnd IfEnd SubSub DeepSeekPolish()Dim selectedText As StringDim apiKey As StringDim response As Object, re As StringDim midString As StringDim ans As StringDim polishPrompt As StringDim URL' 检查是否有正常选中的文本If Selection.Type = wdSelectionNormal Then' 获取选中文本并去除不需要的字符selectedText = Selection.TextselectedText = Replace(selectedText, ChrW$(13), "")' 定义API密钥和请求URLapiKey = "nvapi-这里需要自己注册生成api key-LlR" ' URL = "https://integrate.api.nvidia.com/v1/chat/completions"' 设置润色提示词polishPrompt = "请润色以上文字,要求语句通顺,条理清晰,专业而合理。"' 创建HTTP请求对象并设置参数Set response = CreateObject("MSXML2.XMLHTTP")response.Open "POST", URL, False' 添加必要的头部信息response.setRequestHeader "Content-Type", "application/json"response.setRequestHeader "Authorization", "Bearer " + apiKey' 发送请求,注意在JSON字符串中添加了polishPromptresponse.Send "{""model"":""deepseek-ai/deepseek-r1"", ""messages"":[{""role"":""user"",""content"":""" & selectedText & """}, {""role"":""assistant"", ""content"":""" & polishPrompt & """}], ""temperature"":0.7}"' 处理响应数据re = response.responseTextMsgBox remidString = Mid(re, InStr(re, """content"":""") + 11)ans = Split(midString, """")(0)ans = Replace(ans, "\n", "")' 将原选中文本与润色后的文本一起插入文档中Selection.Text = selectedText & vbNewLine & ansElseExit SubEnd If
End Sub