让Word插上AI的翅膀:如何把DeepSeek装进Word

server/2025/2/26 20:18:55/

在日常办公中,微软的Word无疑是我们最常用的文字处理工具。无论是撰写报告、编辑文档,还是整理笔记,Word都能胜任。然而,随着AI技术的飞速发展,尤其是DeepSeek的出现,我们的文字编辑方式正在发生革命性的变化。想象一下,如果在Word中直接调用DeepSeek的强大功能,岂不是事半功倍?

今天,我们就来聊聊如何通过VBA脚本,将DeepSeek与Word深度集成,打造一个“AI随行”的智能办公场景。

一、打开开发者模式

在开始之前,我们需要确保Word的“开发者工具”已经启用。别担心,这并不复杂,跟着我一步步来:

1. 打开Word,新建一个空白文档。

2. 点击左上角的“文件”,然后选择“选项”。

3. 在弹出的“Word选项”窗口中,选择“自定义功能区”。

4. 在右侧的“主选项卡”中,勾选“开发工具”,然后点击“确定”。

这样我们就可以使用Word中的VBA了。

二、信任VBA宏

为了让VBA脚本顺利运行,我们需要调整Word的宏安全设置:

1. 再次进入“文件”->“选项”->“信任中心”。

2. 点击“信任中心设置”,选择“宏设置”。

3. 勾选“启用所有宏”和“信任对VBA工程对象模型的访问”,然后点击“确定”。

设置信任宏

三、申请DeepSeek的API

我们可以进入硅基流动的官网,申请一个免费的API,可以进入以下页面。

硅基流动

注册完成后,生成一个密钥,把这个以sk-开头的密钥复制备用。

API界面

四、撰写VBA代码

接下来,就是重头戏了——编写VBA脚本,让Word能够调用DeepSeek的API。别被“编程”两个字吓到,代码我已经准备好了,你只需要复制粘贴即可:

1. 点击“开发工具”选项卡,选择“Visual Basic”按钮,打开VBA编辑器。

2. 在VBA编辑器中,点击“插入”->“模块”,新建一个模块。

添加模块

3. 将以下代码粘贴到模块中,如下图所示:

Function CallDeepSeekAPI(api_key As String, inputText As String) As StringDim API As StringDim SendExt As StringDim Http As ObjectDim status_code As IntegerDim response As StringAPI = "http://api.siliconflow.cn/v1/chat/completions"SendExt = "{""model"": ""deepseek-ai/DeepSeek-V3"", ""messages"": [{""role"":""system"",""content"":""You are a helpful assistant.""},{""role"":""user"",""content"":""" & inputText & """}]}"On Error Resume NextSet Http = CreateObject("MSXML2.XMLHTTP.6.0")If Err.Number <> 0 ThenCallDeepSeekAPI = "Error: Failed to create HTTP object - " & Err.DescriptionExit FunctionEnd IfWith Http.Open "POST", API, False.setRequestHeader "Content-Type", "application/json; charset=utf-8".setRequestHeader "Authorization", "Bearer " & api_key.Send SendExtIf Err.Number <> 0 ThenCallDeepSeekAPI = "Error: API request failed - " & Err.DescriptionExit FunctionEnd Ifstatus_code = .Statusresponse = .responseTextEnd WithOn Error GoTo 0If status_code = 200 ThenCallDeepSeekAPI = responseElseCallDeepSeekAPI = "HTTP " & status_code & " : " & responseEnd IfSet Http = Nothing
End Function
Sub DeepSeekV3()Dim api_key As StringDim inputText As StringDim response As StringDim regex As ObjectDim matches As ObjectDim originalSelection As Range' 设置 API 密钥api_key = "sk-这里换成硅基流动的DeepSeek V3 API"' 检查 API 密钥是否为空If api_key = "" ThenMsgBox "请填写API密钥", vbCriticalExit SubEnd If' 检查是否选择了文本If Selection.Type <> wdSelectionNormal ThenMsgBox "请先选择需要处理的文本", vbExclamationExit SubEnd If' 保存当前选中的文本范围Set originalSelection = Selection.RangeinputText = Trim(Replace(Selection.Text, vbCr, ""))' 调用 DeepSeek APIresponse = CallDeepSeekAPI(api_key, inputText)' 检查 API 调用是否出错If Left(response, 5) = "Error" ThenMsgBox response, vbCriticalExit SubEnd If' 使用正则表达式解析 API 响应Set regex = CreateObject("VBScript.RegExp")With regex.Global = True.MultiLine = True.IgnoreCase = False.Pattern = """content""\s*:\s*""([\s\S]*?)"""End WithIf matches.Count > 0 Then' 提取并处理响应内容response = matches(0).SubMatches(0)' 将 \n\n 替换为段落标记replacedText = Replace(response, "\n\n", vbCrLf)' 将处理后的内容插入文档originalSelection.Collapse Direction:=wdCollapseEndoriginalSelection.InsertAfter vbNewLine & replacedTextoriginalSelection.Start = originalSelection.Start + Len(vbNewLine & replacedText)ElseMsgBox "API响应解析失败:" & vbNewLine & replacedText, vbExclamationEnd If
End Sub

五、配置自定义按钮

为了让操作更加便捷,我们可以将VBA脚本绑定到一个自定义按钮上:

  1. 回到Word,点击“文件”->“选项”->“自定义功能区”。
  2. 在右侧的“主选项卡”中,右键点击“开发工具”,选择“添加新组”。
  3. 将新组重命名为“DeepSeek”,并选择一个你喜欢的图标。
  4. 在左侧的命令列表中,选择“宏”,找到我们刚刚创建的“CallDeepSeek”宏,将其添加到“DS生成”组中。
  5. 最后,将这个按钮重命名为“DeepSeek V3”。

六、测试效果

现在,一切准备就绪,让我们来测试一下:

1. 在Word中输入一段文字,比如“请帮我润色以下内容:今天天气真好,适合出去散步。”

2. 选中这段文字,点击“DS生成”按钮。

3. 稍等片刻,Word中就会显示DeepSeek生成的内容,比如“今日阳光明媚,正是外出散步的好时机。”

配置选项卡

如果你在其他Word文档中无法使用这个功能,别担心,这是因为宏没有被固化到Word的公用模板中。解决方法如下:点击“开发工具”->“宏”,选择“CallDeepSeek”宏。点击“管理器”,将“模块1”复制到“Normal.dotm”中。这样,以后所有新建的Word文档都可以直接使用DeepSeek功能了。

七、学后反思

通过VBA脚本,我们成功将DeepSeek与Word深度集成,打造了一个“AI随行”的智能办公场景。这种方案不仅解决了传统复制粘贴的低效问题,更通过VBA脚本的灵活扩展,让AI能力无缝嵌入文字创作流程。从文本生成、润色优化到内容拓展,用户只需轻点按钮即可完成复杂操作。

正如一位程序员朋友所说:“AI不是来抢饭碗的,而是来帮我们端饭碗的。”希望这篇文章能为你打开一扇新的大门,让你的Word从此插上DeepSeek的翅膀,飞得更高、更远!


http://www.ppmy.cn/server/170838.html

相关文章

【C语言】指针笔试题

前言&#xff1a;上期我们介绍了sizeof与strlen的辨析以及sizeof&#xff0c;strlen相关的一些笔试题&#xff0c;这期我们主要来讲指针运算相关的一些笔试题&#xff0c;以此来巩固我们之前所学的指针运算&#xff01; 文章目录 一&#xff0c;指针笔试题1&#xff0c;题目一…

Qt/C++项目积累:3.日志管理系统 - 3.1 项目介绍

在实际工程项目中&#xff0c;日志系统无疑是比较重要地分析问题的手段&#xff0c;常用的一般是将其写入到日志文件中&#xff0c;或者写入数据库文件&#xff0c;进行分析&#xff0c;而工程人员或者开发人员需要实时查看日志&#xff0c;可能不太方便&#xff0c;于是就需要…

rabbitmq 延时队列

要使用 RabbitMQ Delayed Message Plugin 实现延时队列&#xff0c;首先需要确保插件已安装并启用。以下是实现延时队列的步骤和代码示例。 1. 安装 RabbitMQ Delayed Message Plugin 首先&#xff0c;确保你的 RabbitMQ 安装了 rabbitmq-delayed-message-exchange 插件。你可…

Spring Boot + Redis 实现分布式锁

在 Spring Boot 中结合 Redis 实现分布式锁&#xff0c;可以通过 Redisson 或 Jedis 等客户端来操作 Redis&#xff0c;从而实现分布式锁。以下是使用 Redisson 实现分布式锁的示例。 1. 添加依赖 在 pom.xml 中添加 Redisson 依赖&#xff1a; 登录后复制 <dependency>&…

【杂谈】-强化学习遇见链式思维:将大型语言模型转变为自主推理代理

强化学习遇见链式思维&#xff1a;将大型语言模型转变为自主推理代理 文章目录 强化学习遇见链式思维&#xff1a;将大型语言模型转变为自主推理代理1、LLMs中自主推理的必要性1.1 传统LLMs的局限性1.2 链式思维&#xff08;CoT&#xff09;提示的不足1.3 推理中强化学习的必要…

linux usb 驱动 - configfs 文件系统

linux usb hcd 驱动框架 一、数据结构1. configfs_subsystem2. config_group3. config_item4. config_item_type5. configfs_attribute6. configfs_dirent7. 数据结构关系 二、根目录的注册1. configfs_register_subsystem1) configfs_create2) configfs_create_dir 2. 编程实验…

sdut-C语言实验-二分查找

sdut-C语言实验-二分查找 分数 20 全屏浏览 切换布局 作者 马新娟 单位 山东理工大学 本题要求实现一个二分查找函数。 给出含有 n 个数的升序序列&#xff0c;保证序列中的数两两不相等&#xff0c;这n个数编号从1 到n。 然后给出 q 次询问&#xff0c;每次询问给出一个…

L2-4 寻宝图

给定一幅地图&#xff0c;其中有水域&#xff0c;有陆地。被水域完全环绕的陆地是岛屿。有些岛屿上埋藏有宝藏&#xff0c;这些有宝藏的点也被标记出来了。本题就请你统计一下&#xff0c;给定的地图上一共有多少岛屿&#xff0c;其中有多少是有宝藏的岛屿。 输入格式&#xf…