今天我们来聊一聊,如何把DeepSeek接入到PPT中,实现AI智能内容处理。有没有想过,PPT不仅仅是用来展示数据和图表的工具,加入AI能力后,它简直就是超级助手!
这么酷的功能,怎么才能用得上呢?别急,今天我就来给大家做个保姆级教程。
第一步:准备工作
在开始之前,我们要做一些基础的准备工作,确保PPT能顺利与DeepSeek连接。
1、 获取DeepSeek的API Key
首先,你需要一个DeepSeek的API Key才能开始接入AI能力。虽然官网的API充值已经暂停,但你可以通过以下方式来获取API Key。
腾讯云api key:curl.qcloud.com/T3M5yBHp
阿里云api key:sourl.cn/T4Swar
2、 启用PPT的开发者工具
可能很多小伙伴对PPT的开发者工具不太熟悉。其实在PPT里,隐藏着一个非常强大的功能区——“开发工具”,启用它后,我们就能编写和执行VBA代码,实现DeepSeek的接入。
-
打开PPT后,点击“文件” -> “选项” -> “自定义功能区”。
-
勾选“开发工具”,然后点击“确定”。
这样,你就能在PPT的菜单栏里看到“开发工具”选项卡啦。
3、 调整信任设置
为了让宏代码能够正常运行,你还需要调整一些信任设置:
-
点击“文件” -> “选项” -> “信任中心” -> “信任中心设置” -> “宏设置”。
-
勾选“启用所有宏”和“信任对VBA工程对象模型的访问”。
这样一来,你的PPT就不会限制宏的执行,代码可以顺利运行了。
第二步:编写VBA代码
接下来,我们要编写VBA代码,实现在PPT中调用DeepSeek的API。别担心,虽然看起来有些技术感,但跟着步骤走,轻松上手。
1、 打开VBA编辑器
- 在“开发工具”中点击“Visual Basic”,这时会弹出一个VBA编辑器窗口。
- 点击“插入” -> “模块”,然后在新模块中粘贴代码。
(注意:在粘贴代码前,你需要根据实际情况,把代码中的apiKey替换为你自己获得的API Key。)
2、粘贴核心代码
Function CallDeepSeekAPI(api_key As String, inputText As String)
Dim API As String
Dim SendTxt As String
Dim Http As Object
Dim status_code As Integer
Dim response As String
MsgBox "开始调用Deepseek V3进行总结,耐心等待......"
API = "https://api.deepseek.com/chat/completions"
SendTxt = "{""model"": ""9dc913a037774fc0b248376905c85da5"", ""messages"": [{""role"":""system"", ""content"":""你是PPT文案专家,善于总结,输出要总结为条目,每个条目不超过50字,前面总结4至8字,加冒号进行概要描述,总字数不超过200字""}, {""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
If status_code = 200 Then
CallDeepSeekAPI = response
Else
CallDeepSeekAPI = "Error: " & status_code & " - " & response
End If
Set Http = Nothing
End Function
Function CallDeepSeekRAPI(api_key As String, inputText As String)
Dim API As String
Dim SendTxt As String
Dim Http As Object
Dim status_code As Integer
Dim response As String
MsgBox "开始调用Deepseek R1进行总结,耐心等待......"
API = "https://api.deepseek.com/chat/completions"
SendTxt = "{""model"": ""deepseek-reasoner"", ""messages"": [{""role"":""system"", ""content"":""你是PPT文案专家,善于总结,输出要总结为条目,每个条目不超过50字,前面总结4至8字,加冒号进行概要描述,总字数不超过200字""}, {""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
If status_code = 200 Then
CallDeepSeekRAPI = response
Else
CallDeepSeekRAPI = "Error: " & status_code & " - " & response
End If
Set Http = Nothing
End Function
Sub DeepSeekR()
Dim selectedText As String
Dim apikey As String
Dim response As String
Dim midString As String
Dim ans As String
Dim shp As Shape
Dim slide As slide
Dim regex As Object
Dim matches As Object
Dim selectedShape As Shape
' 检查是否有选中的对象
If ActiveWindow.Selection.Type = ppSelectionShapes Then
' 获取选中的形
Set selectedShape = ActiveWindow.Selection.ShapeRange(1)
' 检查形状是否有文本
If selectedShape.HasTextFrame Then
If selectedShape.TextFrame.HasText Then`
selectedText = selectedShape.TextFrame.TextRange.Text
selectedText = Replace(selectedText, ChrW$(13), "")
apikey = "替换为你获取的API Key"
response = CallDeepSeekRAPI(apikey, selectedText)
If Left(response, 5) <> "Error" Then
Set regex = CreateObject("VBScript.RegExp")
With regex
.Global = True
.MultiLine = True
.IgnoreCase = False
.Pattern = """content"":""(.*?)"""
End With
Set matches = regex.Execute(response)
If matches.Count > 0 Then
response = matches(0).SubMatches(0)
response = Replace(Replace(response, """", Chr(34)), """", Chr(34))
response = Replace(response, "\n\n", "\n")
response = Replace(response, "\n", vbCrLf)
response = Replace(response, "*", "")
response = Replace(response, "#", "")
' 将结果插入到形状的文本中
selectedShape.TextFrame.TextRange.Text = response
Else
MsgBox "Failed to parse API response.", vbExclamation
End If
Else
MsgBox response, vbCritical
End If
Else
MsgBox "选中的形状没有文本内容。"
End If
Else
MsgBox "选中的形状没有文本框。"
End If
Else
MsgBox "请选择一个形状。"
End If
End Sub
第三步:自定义功能区
在PPT中,我们要创建一个专门的按钮来触发DeepSeek的功能。这样你就能随时随地使用这个强大的AI功能了。
1、 添加自定义按钮
-
点击“文件” -> “选项” -> “自定义功能区”。
-
右键点击“开发工具” -> “添加新组”。
-
重命名新组为“DeepSeek”,并为它选择一个喜欢的图标。
2、 绑定宏到按钮
-
在左侧的命令列表中找到你创建的宏——“CallDeepSeekAPI”。
-
选中它,点击“添加”到右侧的DeepSeek组,最后点击“确定”。
这样,你就成功创建了一个自定义的DeepSeek按钮!
第四步:测试功能
好了,所有的设置都完成了,接下来就来测试一下功能是否正常工作。
1、 打开PPT幻灯片
首先,打开一张幻灯片,确保它包含有文本内容的形状(比如文本框)。
2、 输入测试内容
在选中的文本框中,输入一些简单的文字,比如“你好,AI!”。
3、 点击DeepSeek按钮
在PPT的菜单栏中,点击你刚刚创建的“DeepSeekAPI”按钮。
4、 观察结果
如果一切设置正常,DeepSeek就会根据你的请求返回处理后的文字,并显示在选中的形状中。是不是很酷?这样一来,PPT就能通过AI智能生成你想要的内容了,免去你逐字逐句修改的麻烦。
处理可能的错误
在使用过程中,可能会遇到一些问题,别慌!下面这些小贴士可以帮你解决常见的错误:
-
API Key是否正确:检查你填入的API Key是否准确,是否过期。
-
网络连接是否正常:确保你在使用DeepSeek时网络是畅通的,API请求才能成功发送。
-
调整代码中的参数设置:如果返回的结果不符合预期,可能是请求参数的问题。你可以调整代码中的参数,重新测试。
以上就是通过PPT接入DeepSeek的完整步骤!如果你是有一定编程基础的小伙伴,按照这些步骤操作下来,一定能轻松实现这一功能。