Sub DeepSeek() Dim selectedText As String Dim apiKey As String Dim response As Object, re As String Dim midString As String Dim ans As String If Selection.Type = wdSelectionNormal Then selectedText = Selection.Text selectedText = Replace(selectedText, ChrW$(13), '') apiKey = 'your_api_key_here' URL = 'https://integrate.api./v1/chat/completions' Set response = CreateObject('MSXML2.XMLHTTP') response.Open 'POST', URL, False response.setRequestHeader 'Content-Type', 'application/json' response.setRequestHeader 'Authorization', 'Bearer ' + apiKey response.Send '{''model'':''deepseek-ai/deepseek-r1'', ''messages'':[{''role'':''user'',''content'':''' & selectedText & '''}], ''temperature'':0.7}' re = response.responseText midString = Mid(re, InStr(re, '''content'':''') + 11) ans = Split(midString, '''')(0) ans = Replace(ans, '\n', '') Selection.Text = selectedText & vbNewLine & ans Else Exit Sub End If End Sub
文本润色模块
文本润色模块内置了提示词,大家可根据需要修改提示词,实现翻译、润色、续写等功能。
Sub DeepSeekPolish() Dim selectedText As String Dim apiKey As String Dim response As Object, re As String Dim midString As String Dim ans As String Dim polishPrompt As String ' 检查是否有正常选中的文本 If Selection.Type = wdSelectionNormal Then ' 获取选中文本并去除不需要的字符 selectedText = Selection.Text selectedText = Replace(selectedText, ChrW$(13), '') ' 定义API密钥和请求URL apiKey = 'your_api_key_here' URL = 'https://integrate.api./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字符串中添加了polishPrompt response.Send '{''model'':''deepseek-ai/deepseek-r1'', ''messages'':[{''role'':''user'',''content'':''' & selectedText & '''}, {''role'':''assistant'', ''content'':''' & polishPrompt & '''}], ''temperature'':0.7}' ' 处理响应数据 re = response.responseText midString = Mid(re, InStr(re, '''content'':''') + 11) ans = Split(midString, '''')(0) ans = Replace(ans, '\n', '') ' 将原选中文本与润色后的文本一起插入文档中 Selection.Text = selectedText & vbNewLine & ans Else Exit Sub End If End Sub