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

在日常办公中,微软的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编辑器中,点击"插入"->"模块",新建一个模块。

添加模块

  1. 将以下代码粘贴到模块中,如下图所示:
vbscript 复制代码
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的翅膀,飞得更高、更远!

相关推荐
小成202303202654 小时前
C++~07补充
开发语言·c++
2401_885885046 小时前
国际语音C#接口怎么写?.NET环境下实现国际语音验证码批量下发
开发语言·c#·.net
程序猿乐锅7 小时前
【从0-1学习Python | 第七篇】Python 面向对象基础
开发语言·笔记·后端·python·学习·1024程序员节
Wang's Blog7 小时前
Java 项目实战: 交友项目 - 查询圈子个人动态:查询我的动态需求分析
java·开发语言·交友
凯瑟琳.奥古斯特7 小时前
力扣1016高效解法:剪枝优化技巧
开发语言·c++·算法·leetcode·职场和发展
坤坤子吖8 小时前
C++继承:友元、静态成员、多继承与组合
开发语言·c++·笔记·学习·1024程序员节
技术小甜甜8 小时前
【Cursor】Skill 被标黄色警告,怎么改成合格的 SKILL.md
开发语言·javascript·ai编程·cursor·1024程序员节·ai agent·skills
小小龙学IT9 小时前
Python Polars 高性能数据处理引擎深度解析
开发语言·python·rust·1024程序员节
quantdash_cc9 小时前
如何利用标的信息为研究股票池补充名称和交易所信息?
开发语言·python·pandas·量化交易·1024程序员节·股票数据·quantdash