今天大家分享下,如何将DeepSeek嵌入到Word文档中,以后在Word文档遇到翻译,纠错,润色这样的问题就能直接询问DeepSeek,操作也并不难,也是利用VBA代码实现的,操作也非常的简单。
一、代码准备
我们可以直接复制下方的代码,粘贴使用,关键点需要修改1处
api_key = "你的api"
在这里将你的api直接替换为deepseek的api秘钥即可,
Function CallDeepSeekAPI(api_key As String, inputText As String) As String Dim API As String Dim SendTxt As String Dim Http As Object Dim status_code As Integer Dim response As String API = "https://api.deepseek.com/chat/completions" SendTxt = "{""model"": ""deepseek-chat"", ""messages"": [{""role"":""system"", ""content"":""You are a Word assistant""}, {""role"":""user"", ""content"":""" & inputText & """}], ""stream"": false}" Set Http = CreateObject("MSXML2.XMLHTTP") With Http .Open "POST", API, False .setRequestHeader "Content-Type", "application/json" .setRequestHeader "Authorization", "Bearer " & api_key .send SendTxt status_code = .Status response = .responseText End With If status_code = 200 Then CallDeepSeekAPI = response Else CallDeepSeekAPI = "Error: " & status_code & " - " & response End If Set Http = NothingEnd FunctionSub DeepSeekV3() Dim api_key As String Dim userQuestion As String Dim selectedText As String Dim combinedInput As String Dim response As String Dim regex As Object Dim matches As Object Dim originalSelection As Object api_key = "你的api" If api_key = "" Then MsgBox "请先设置API密钥", vbExclamation Exit Sub End If If Selection.Type <> wdSelectionNormal Then MsgBox "请先选择要处理的文本", vbExclamation Exit Sub End If ' 获取用户问题 userQuestion = InputBox("请输入您的问题(选中的文本将作为处理内容):", "DeepSeek 提问") If userQuestion = "" Then Exit Sub ' 处理文本内容 Set originalSelection = Selection.Range selectedText = Selection.Text ' 组合问题和选中文本 combinedInput = userQuestion & vbCrLf & vbCrLf & "需要处理的文本内容:" & vbCrLf & selectedText ' 转义特殊字符 combinedInput = Replace(combinedInput, "\", "\\") combinedInput = Replace(combinedInput, """", "\""") combinedInput = Replace(combinedInput, vbCrLf, "\n") combinedInput = Replace(combinedInput, vbCr, "\n") combinedInput = Replace(combinedInput, vbLf, "\n") ' 调用API response = CallDeepSeekAPI(api_key, combinedInput) If Left(response, 5) <> "Error" Then Set regex = CreateObject("VBScript.RegExp") With regex .Global = True .MultiLine = True .IgnoreCase = False .Pattern = """content"":""(.*?)""" End With Set matches = regex.Execute(response) If matches.Count > 0 Then Dim outputText As String outputText = matches(0).SubMatches(0) ' 处理转义字符 outputText = Replace(outputText, "\""", """") outputText = Replace(outputText, "\\", "\") outputText = Replace(outputText, "\n", vbCrLf) ' 插入结果到新段落 originalSelection.InsertAfter vbCrLf & "【AI回复】" & vbCrLf & outputText originalSelection.Start = originalSelection.Start + Len(originalSelection.Text) Else MsgBox "无法解析API响应", vbExclamation End If Else MsgBox response, vbCritical End If ' 清理对象 Set regex = Nothing Set originalSelection = NothingEnd Sub
二、粘贴到Word文档中
复制上方的代码,然后来到Word文档中,点击【开发工具】在左侧找到【Visual Basic】进入vb的编辑窗口,之后在左侧点击空白的区域,点击鼠标右键,找到【插入】选择【模块】最后将代码直接粘贴到模块中即可
这里一定要记得将API替换为你自己的API才可以的
三、设置按钮
首先我们需要在左侧点击文件,然后在最下方找到选项,来调出Word选项,找到【自定义功能区】
随后需要在右侧的下方找到【新建选项卡】新建后点击选项卡,在右侧找到【重命名】将他的名字改成DeepSeek,然后再点击【新建组】,然后在左侧的窗口中将选项改成【宏】找到刚才创建的【DeepSeekV3】然后点击添加,最后点击确定,就可以将这个按钮放在Word文档中了,以后有什么文件都可以直接询问它。
最后一定接的将文件格式另存为docm,这个格式才能保存宏代码。
参考视频
想学Excel,可以在下方了解下我的课程,AI课程已经在更新了,都会加到下面的课程中,点击下方链接了解详情
领取专属 10元无门槛券
私享最新 技术干货