想要在Excel中轻松接入DeepSeek,来让AI帮助你解决工作中的小难题?今天我们就来聊聊如何设置这个神奇的功能!🎉
刚开始接触DeepSeek时,我真的被它的强大所震撼。通过VBA代码,你可以直接在Excel中调用DeepSeek的AI接口,实现数据处理自动化。
这种集成不仅节省了时间,更是将数据分析与文本处理提升到新高度!把AI运算引入Excel,真是太令人兴奋了!😄
步骤一:准备工作
在动手之前,你需要做一些准备:
1. 获取DeepSeek的API Key
要让DeepSeek为你服务,首先需要获取API Key。你可以访问 DeepSeek官网:https://www.deepseek.com 来申请。但要注意,目前官方API申请功能已暂停。😓
别灰心,你也可以通过腾讯云申请API Key,访问 https://curl.qcloud.com/T3M5yBHp,目前这个方法是可行的,推荐使用!🌟
2. 启用Excel的开发者工具
开启开发者工具是关键的一步,因为默认情况下Excel不显示这个选项!
-
首先,打开Excel,点击“文件”——> “选项”——> “自定义功能区”。 -
接着,在“主选项卡”那一栏勾选“开发工具”,最后确认即可。
这时候,你的Excel菜单栏上会出现一个“开发工具”选项卡,接下来的操作都要从这里开始哦!🌻
3. 调整信任设置
在进行编程之前,请先调整一下信任设置,以确保宏脚本可以顺利运行:
-
打开“文件”——> “选项”——> “信任中心”——> “信任中心设置”——> “宏设置”。 -
选中“启用所有宏”和“信任对VBA工程对象模型的访问”,然后点击确定。
现在,你可以开始在Excel中运行VBA脚本了,一切都已经准备就绪。🍀
步骤二:编写VBA代码
接下来就是编写VBA代码,连接DeepSeek API,进行数据交互的环节。只需根据以下步骤,你就能让DeepSeek的AI聪明地分析你的数据了!
1. 打开VBA编辑器
-
首先,点击“开发工具”选项,找到“Visual Basic”并点击。
-
这时,一个VBA编辑器窗口将会弹出,右键点击“插入”——> “模块”,创建一个新模块。
2. 粘贴核心代码
接下来,在新创建的模块中粘贴以下代码,实现调用DeepSeek API的功能:
切记,代码中的 AI_KEY
需要替换为你获得的DeepSeek API Key,这样才能确保正常调用服务喔!
'VBA代码应用
'▲▲▲ API配置区 ,修改API-key!其他不变
Const AI_URL As String = "https://api.deepseek.com/chat/completions"
'填写你的API key
Const AI_KEY As String = "xxx"
Const AI_MODEL As String = "deepseek-chat"
'AI交互函数不变
Private Function GetAIResponse(prompt As String) As String
Dim oXmlHttp As Object, requestBody As String
Dim startTime As Double, apiResponse As String
Const TIMEOUT_MSG As String = "请求超时,可能原因:" & vbCrLf & _
"1. 网络连接问题" & vbCrLf & _
"2. API服务繁忙" & vbCrLf & _
"是否重试?"
Const PROCESSING_MSG As String = "AI分析中,已耗时 "
On Error GoTo ErrorHandler
Set oXmlHttp = CreateObject("MSXML2.ServerXMLHTTP.6.0")
'▲▲▲ 超时参数配置 ▲▲▲
oXmlHttp.setTimeouts 5000, 8000, 20000, 60000
'▼▼▼ 构建专业请求 ▼▼▼
With oXmlHttp
.Open "POST", AI_URL, False
.setRequestHeader "Content-Type", "application/json;"
.setRequestHeader "Authorization", "Bearer " & AI_KEY
.setRequestHeader "Accept", "*/*"
End With
requestBody = "{""model"":""" & AI_MODEL & """," & _
"""messages"":[{""role"":""user"",""content"":""" & JSONEscape(prompt) & """}]," & _
"""temperature"":0.7,""max_tokens"":512}"
'▲▲▲ 异步处理控制 ▲▲▲
startTime = Timer
oXmlHttp.send requestBody
Do While oXmlHttp.readyState <> 4
If Timer - startTime > 60 Then
If MsgBox(TIMEOUT_MSG & "耗时:" & Format(Timer - startTime, "0.0") & "秒", _
vbCritical + vbRetryCancel) = vbRetry Then
oXmlHttp.abort
startTime = Timer
oXmlHttp.send requestBody
Else
Exit Function
End If
End If
DoEvents
Application.StatusBar = PROCESSING_MSG & Format(Timer - startTime, "0.0") & "秒"
Loop
'▼▼▼ 响应处理 ▼▼▼
If oXmlHttp.Status = 200 Then
apiResponse = oXmlHttp.responseText
GetAIResponse = ExtractJSONContent(apiResponse)
Else
Err.Raise vbObjectError + 1, , "API错误:" & oXmlHttp.Status & " - " & oXmlHttp.statusText
End If
Exit Function
ErrorHandler:
If Err.Number = -2147012894 Then
If MsgBox(TIMEOUT_MSG, vbExclamation + vbRetryCancel) = vbRetry Then Resume
Else
MsgBox "AI交互错误:" & Err.Description, vbCritical
End If
GetAIResponse = "错误:" & Err.Description
Finally:
Application.StatusBar = False
Set oXmlHttp = Nothing
End Function
'辅助函数:JSON转义
Private Function JSONEscape(str As String) As String
JSONEscape = Replace(Replace(Replace(str, "\", "\\"), """", "\"""), vbCrLf, "\n")
End Function
'辅助函数:提取JSON内容
Private Function ExtractJSONContent(responseText As String) As String
Dim contentStart As Long, contentEnd As Long
contentStart = InStr(responseText, """content"":""") + 11
contentEnd = InStr(contentStart, responseText, """")
ExtractJSONContent = Replace(Mid(responseText, contentStart, contentEnd - contentStart), "\n", vbCrLf)
End Function
'主任务:数据处理流程
Sub MainTask()
Dim prompt As String, aiResponse As String
Dim ws As Worksheet
On Error GoTo ErrorHandler
Set ws = ActiveSheet
'▲▲▲ 构建专业提示词 ▲▲▲ 提问写在A2
prompt = Range("A2")
'▼▼▼ AI交互 ▼▼▼
aiResponse = GetAIResponse(prompt)
'▲▲▲ 结果输出 在A4
ws.Range("A4").Value = aiResponse
ws.Range("A4").WrapText = True
Exit Sub
ErrorHandler:
MsgBox "处理数据时发生错误:" & Err.Description, vbCritical
End Sub
这段代码将帮助你连接到DeepSeek API,并将返回结果展示在Excel的指定单元格中。千千万万务必将API_KEY
替换为你自己的密钥哦!
步骤三:自定义功能区
为了方便操作,我们可以给Excel增加一个按钮,点击按钮便能触发DeepSeek功能,省去每次进入VBA编辑器的麻烦。
1. 添加自定义按钮
-
打开“文件”——> “选项”——> “自定义功能区”。 -
右键点击“开发工具”选项,选择“添加新组”。 -
选中刚创建的组,右键重命名为“DeepSeek”,并给它选择一个图标。
2. 绑定宏到按钮
-
在左侧命令列表中找到“宏”,选择“MainTask”。 -
将它添加到新创建的“DeepSeek”组中,然后点击确认。
至此,你的Excel菜单栏中就会出现一个名为“DeepSeek”的按钮,点击它,DeepSeek的AI就会启动工作。🚀
步骤四:测试功能
到这里,基本上我们的接入工作已大功告成,现在就是验证功能是否正常运作的时候了。
-
在Excel的工作表中输入一些测试数据,比如:“你好,DeepSeek!” -
选中这段文字,点击“MainTask”按钮。
-
如果一切设置都正确,DeepSeek会返回处理后的结果,然后在指定的单元格中显示出来。
如果所有操作都顺利,那你就成功接入DeepSeek啦!是不是觉得这些操作超简单,同时又很有趣,Excel竟然可以变成一个智能分析助手!🤖
额外提示
1. 引用必要的库
请确保在VBA编辑器中引用了必要的库,以便代码能够顺利运行。点击“工具”——> “引用”,确保勾选以下库:
-
Microsoft Scripting Runtime -
Microsoft XML, v6.0
这两个库将能够帮助你在VBA中处理API的请求和响应。
2. 处理可能的错误
如果在运行过程中遇到错误,不要紧张,检查以下几点:
-
确认API Key是否正确。 -
检查网络连接是否正常。 -
确保代码中的数据和参数设置符合API要求。
只需逐一检查,你就能顺利运行你的代码!💪
好了,今天的教程就到此为止!欢迎大家尝试直接在Excel中接入DeepSeek,让AI帮你提升工作效率。
小小的Excel工具,竟能变身为一个智能助手,真是太令人惊叹了!🌈
最后,我为大家创造了一份深度学习DeepSeek的全方位入门教程,完全免费:https://www.songshuhezi.com/deepseek
欢迎加入我们的交流圈,一起分享和探讨DeepSeek的新玩法!
发表回复