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

news/2025/2/25 16:19:11

在日常办公中,微软的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 String
    Dim API As String
    Dim SendExt As String
    Dim Http As Object
    Dim status_code As Integer
    Dim response As String

    API = "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 Next
    Set Http = CreateObject("MSXML2.XMLHTTP.6.0")
    If Err.Number <> 0 Then
        CallDeepSeekAPI = "Error: Failed to create HTTP object - " & Err.Description
        Exit Function
    End If

    With Http
        .Open "POST", API, False
        .setRequestHeader "Content-Type", "application/json; charset=utf-8"
        .setRequestHeader "Authorization", "Bearer " & api_key
        .Send SendExt

        If Err.Number <> 0 Then
            CallDeepSeekAPI = "Error: API request failed - " & Err.Description
            Exit Function
        End If

        status_code = .Status
        response = .responseText
    End With
    On Error GoTo 0

    If status_code = 200 Then
        CallDeepSeekAPI = response
    Else
        CallDeepSeekAPI = "HTTP " & status_code & " : " & response
    End If

    Set Http = Nothing
End Function
Sub DeepSeekV3()
    Dim api_key As String
    Dim inputText As String
    Dim response As String
    Dim regex As Object
    Dim matches As Object
    Dim originalSelection As Range

    ' 设置 API 密钥
    api_key = "sk-这里换成硅基流动的DeepSeek V3 API"

    ' 检查 API 密钥是否为空
    If api_key = "" Then
        MsgBox "请填写API密钥", vbCritical
        Exit Sub
    End If

    ' 检查是否选择了文本
    If Selection.Type <> wdSelectionNormal Then
        MsgBox "请先选择需要处理的文本", vbExclamation
        Exit Sub
    End If

    ' 保存当前选中的文本范围
    Set originalSelection = Selection.Range
    inputText = Trim(Replace(Selection.Text, vbCr, ""))

    ' 调用 DeepSeek API
    response = CallDeepSeekAPI(api_key, inputText)

    ' 检查 API 调用是否出错
    If Left(response, 5) = "Error" Then
        MsgBox response, vbCritical
        Exit Sub
    End If

    ' 使用正则表达式解析 API 响应
    Set regex = CreateObject("VBScript.RegExp")
    With regex
        .Global = True
        .MultiLine = True
        .IgnoreCase = False
        .Pattern = """content""\s*:\s*""([\s\S]*?)"""
    End With

    If matches.Count > 0 Then
        ' 提取并处理响应内容
        response = matches(0).SubMatches(0)
        ' 将 \n\n 替换为段落标记
        replacedText = Replace(response, "\n\n", vbCrLf)
        
        ' 将处理后的内容插入文档
        originalSelection.Collapse Direction:=wdCollapseEnd
        originalSelection.InsertAfter vbNewLine & replacedText
        originalSelection.Start = originalSelection.Start + Len(vbNewLine & replacedText)
    Else
        MsgBox "API响应解析失败:" & vbNewLine & replacedText, vbExclamation
    End 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.niftyadmin.cn/n/5865699.html

相关文章

图论算法篇:BFS宽度优先遍历

那么bfs算法的大名想必大家都一定听闻过&#xff0c;那么也许有的人在认识我们bfs算法之前是先接触的我们的dfs算法&#xff0c;那么目前我们的算法世界中的两种搜索算法就是我们的dfs和我们的bfs&#xff0c;那么废话不多说&#xff0c;就让我们进入bfs算法的学习 BFS算法原理…

安全面试5

文章目录 sql的二次注入在linux下&#xff0c;现在有一个拥有大量ip地址的txt文本文档&#xff0c;但是里面有很多重复的&#xff0c;如何快速去重&#xff1f;在内网渗透中&#xff0c;通过钓鱼邮件获取到主机权限&#xff0c;但是发现内网拦截了tcp的出网流量&#xff0c;聊一…

机器学习基础入门——机器学习库介绍(NumPy、pandas、Matplotlib)

机器学习库介绍&#xff08;NumPy、pandas、Matplotlib&#xff09; 在 Python 机器学习的领域中&#xff0c;NumPy、pandas 和 Matplotlib 是三个不可或缺的基础库。它们分别在数值计算、数据处理与分析以及数据可视化方面发挥着关键作用&#xff0c;极大地提升了开发效率与数…

AI agent(以AutoGPT为例)和AI Workflow 区别

AutoGPT 介绍 Auto GPT是基于大型语言模型&#xff08;LLM&#xff09;的自主AI代理&#xff0c;能够连接互联网并自主规划执行复杂任务。 关键特征 无缝集成与低代码工作流&#xff1a;无需大量编码知识即可快速创建复杂工作流。 自主运行与持续代理&#xff1a;部署基于云…

2025年2月科技热点深度解析:AI竞赛、量子突破与开源革命

引言 2025年的科技领域持续呈现爆发式增长&#xff0c;AI大模型竞争白热化、量子计算商业化加速、开源工具生态繁荣成为本月最受关注的议题。本文结合最新行业动态&#xff0c;从技术突破、商业布局到开发者生态&#xff0c;全面解析当前科技热点&#xff0c;为读者提供深度洞…

P8615 [蓝桥杯 2014 国 C] 拼接平方数

题目描述 小明发现 49 很有趣&#xff0c;首先&#xff0c;它是个平方数。它可以拆分为 4 和 9&#xff0c;拆分出来的部分也是平方数。169 也有这个性质&#xff0c;我们权且称它们为&#xff1a;拼接平方数。 100 可拆分 1,00&#xff0c;这有点勉强&#xff0c;我们规定&a…

uniapp在app下使用mqtt协议!!!支持vue3

什么&#xff1f;打包空白&#xff1f;分享一下我的解决方法&#xff01; 第一步 找大师算过了&#xff0c;装4.1版本运气好&#xff01; 所以根目录执行命令… npm install mqtt4.1.0第二步 自己封装一个mqtt文件方便后期开坛做法&#xff01; // utils/mqtt.js import mqt…

鸿蒙NEXT开发-位置服务

注意&#xff1a;博主有个鸿蒙专栏&#xff0c;里面从上到下有关于鸿蒙next的教学文档&#xff0c;大家感兴趣可以学习下 如果大家觉得博主文章写的好的话&#xff0c;可以点下关注&#xff0c;博主会一直更新鸿蒙next相关知识 目录 1. 位置服务基本介绍 2. 申请位置权限 …