VBA脚本将DeepSeek嵌入Word中教程
- 人工智能
- 2025-08-25 21:00:01

一、获取API-Key
目前我们可以直接只用官网的API来实现,申请这一步是关键
也可以直接访问官网的API平台: platform.deepseek / ,没注册的注册完登录一下,我们点击到左侧菜单的“APIKeys”按钮,然后点击右侧的“创建API Key”
在弹出的对话框中备注一下,以防忘记,点击创建,这样我们就获得了一个API Key了。记得先将密钥复制存放一下。一旦关闭就无法复制,只能删了重新创建。
二:WORD开启宏命令
要将DeepSeek集成到Word中必须先使用到“宏”,但是Office默认是禁用宏的,需先开启一下宏命令的功能。
启动Word应用程序。
在Word界面的顶部,找到并点击“文件”菜单。
在下拉菜单中,选择“选项”按钮以进入设置界面。
在弹出的“Word选项”窗口中,找到并点击左侧的“信任中心”设置。
在“信任中心”设置中,点击“信任中心设置...”按钮。
在“信任中心”对话框中,切换到“宏设置”选项卡。
在这里,您可以选择以下选项之一:
“禁用所有宏,带通知”:所有宏都将被禁用,但会通知您宏的存在。
“禁用所有宏,不通知”:所有宏都将被禁用,且不会通知您。
“启用所有宏”:所有宏都将被允许运行,但请注意,这可能会带来安全风险。
“禁用所有宏,除了签名的宏”:所有未签名的宏都将被禁用,但签名的宏将被允许运行。
根据您的需求选择合适的宏设置,然后点击“确定”保存设置。
再次点击“确定”关闭“信任中心”对话框,然后关闭“Word选项”窗口。
完成以上步骤后,您就可以在Word中使用宏功能了。如果您需要启用特定的宏,确保选择了允许宏运行的设置,并确保宏是来自可信的来源。启用宏后,您可以按照DeepSeek的集成指南,继续进行DeepSeek与Word的集成操作。
三、启动开发工具
一般Word因为禁用了“宏命令”,对应的“开发工具”菜单没开启,我们需要开启一下。按如下操作启动 “开发工具”菜单:“文件”——“选项”——“自定义功能”,勾选启动“开发工具”菜单
四、创建VB宏命令
点击“开发工具”下的Visual Basic编辑器
进入后点击菜单中的“插入”-“模块”,命名为“DeepSeek”
如下代码复制粘贴到模块中。
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 = " api.deepseek /chat/completions" SendTxt = "{""model"": ""deepseek-reasoner"", ""messages"": [{""role"":""system"", ""content"":""你是一个乐于助人的AI助手,请根据用户的问题给出详细的解答。""}, {""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 ' 弹出窗口显示 API 响应(调试用) ' MsgBox "API Response: " & response, vbInformation, "Debug Info" If status_code = 200 Then CallDeepSeekAPI = response Else CallDeepSeekAPI = "Error: " & status_code & " - " & response End If Set Http = Nothing End Function Sub DeepSeekR1() Dim api_key As String Dim inputText As String Dim response As String Dim regex As Object Dim reasoningRegex As Object Dim contentRegex As Object Dim matches As Object Dim reasoningMatches As Object Dim originalSelection As Object Dim reasoningContent As String Dim finalContent As String api_key = "替换为你的api key" If api_key = "" Then MsgBox "Please enter the API key." Exit Sub ElseIf Selection.Type <> wdSelectionNormal Then MsgBox "Please select text." Exit Sub End If ' 保存原始选中的文本 Set originalSelection = Selection.Range.Duplicate inputText = Replace(Replace(Replace(Replace(Replace(Selection.text, "\", "\\"), vbCrLf, ""), vbCr, ""), vbLf, ""), Chr(34), "\""") response = CallDeepSeekAPI(api_key, inputText) If Left(response, 5) <> "Error" Then ' 创建正则表达式对象来分别匹配推理内容和最终回答 Set reasoningRegex = CreateObject("VBScript.RegExp") With reasoningRegex .Global = True .MultiLine = True .IgnoreCase = False .Pattern = """reasoning_content"":""(.*?)""" End With Set contentRegex = CreateObject("VBScript.RegExp") With contentRegex .Global = True .MultiLine = True .IgnoreCase = False .Pattern = """content"":""(.*?)""" End With ' 提取推理内容 Set reasoningMatches = reasoningRegex.Execute(response) If reasoningMatches.Count > 0 Then reasoningContent = reasoningMatches(0).SubMatches(0) reasoningContent = Replace(reasoningContent, "\n\n", vbNewLine) reasoningContent = Replace(reasoningContent, "\n", vbNewLine) reasoningContent = Replace(Replace(reasoningContent, """", Chr(34)), """", Chr(34)) End If ' 提取最终回答 Set matches = contentRegex.Execute(response) If matches.Count > 0 Then finalContent = matches(0).SubMatches(0) finalContent = Replace(finalContent, "\n\n", vbNewLine) finalContent = Replace(finalContent, "\n", vbNewLine) finalContent = Replace(Replace(finalContent, """", Chr(34)), """", Chr(34)) ' 取消选中原始文本 Selection.Collapse Direction:=wdCollapseEnd ' 插入推理过程(如果存在) If Len(reasoningContent) > 0 Then Selection.TypeParagraph Selection.TypeText "推理过程:" Selection.TypeParagraph Selection.TypeText reasoningContent Selection.TypeParagraph Selection.TypeText "最终回答:" Selection.TypeParagraph End If ' 插入最终回答 Selection.TypeText finalContent ' 将光标移回原来选中文本的末尾 originalSelection.Select Else MsgBox "Failed to parse API response.", vbExclamation End If Else MsgBox response, vbCritical End If End Sub
上述代码这替换为你自己的Key:
保存VB脚本并关闭窗口,再点击“文件”-“选项”-“自定义功能区”,我们选择这里的宏,就可以看到我们刚才创建的宏命令了。
五、新建宏命令组
我们在右侧继续右键“开发工具”,在它下面新建一个组。
然后将这个组重命名为“AI”或者你喜欢的名称,再选一个你喜欢的图标。
将上面的宏添加到这个下面就可完成。
点击“确定”,我们就可以在菜单栏的“开发工具”中看到这个按钮了。
我们在下面的Word文档中测试下这个功能,在Word里输入段文字,点击这个按钮。等待一会儿(DeepSeek R1在推理),就会出现DeepSeek的思考过程和最终结果
这样以后我们要写什么内容,要检查错别字,翻译、文章、方案等等需求都可以直接在Word里完成。
六、另存为模板
由于上面的操作只是针对当前这个Word文档,如果想每次打开都有这个脚本存在,我们只需要将这个Word文档另存为模板
这样下次打开文档还是会附带这个宏命令,就这样整个操作完成了,
VBA脚本将DeepSeek嵌入Word中教程由讯客互联人工智能栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“VBA脚本将DeepSeek嵌入Word中教程”