Python技术迷

DeepSeek接入PPT,效率拉满【保姆级教程】

如何在PPT中集成DeepSeek API,实现一种超级酷炫的自动化功能。

想象一下,你正在做一个PPT展示,突然间想让AI帮你优化一下文字内容,或者提炼关键信息。

通过几步简单的操作,就能让DeepSeek这个强大的AI助手加入到你的PPT中,为你提供一些智能的建议和内容处理。今天就带你从零开始,轻松上手!

Image

实现原理

在PPT中集成DeepSeek其实并不复杂,它的核心原理是通过调用DeepSeek提供的API,将PPT中的内容发送给AI,获取处理后的结果,然后再把结果返回到PPT中。

这个过程主要通过VBA(Visual Basic for Applications)来实现,我们需要编写一些简单的代码,连接DeepSeek的API接口。对于有一定编程基础的小伙伴来说,按照步骤走,完全可以顺利上手。

如果你还没有Office,那你可以点击后面的链接获取Office:https://sourl.cn/2M7Z7X

第一步:准备工作

1. 获取DeepSeek的API Key

首先,你需要一个DeepSeek的API Key。虽然DeepSeek官网的API充值功能暂停了,但是可以通过其他途径获取API Key,建议优先选择官方渠道。

API Key就像是你通向DeepSeek世界的大门钥匙,没有它,你就无法调用DeepSeek的AI功能。所以,记得在开始之前,先搞定这个重要的步骤。

腾讯云api key:https://curl.qcloud.com/T3M5yBHp

阿里云api key:https://sourl.cn/T4Swar

2. 启用PPT的开发者工具

接下来,我们需要在PPT中启用开发者工具。这里的操作也非常简单:

  • 打开PPT后,点击“文件 -> 选项 -> 自定义功能区”,勾选“开发工具”,然后点击“确定”。
  • 这时,你会看到PPT的菜单栏中增加了“开发工具”选项卡,这个就是我们之后编写VBA代码的地方。

Image

3. 调整信任设置

由于我们要运行宏代码,需要确保PPT的信任设置允许宏的执行。步骤如下:

  • 点击“文件 -> 选项 -> 信任中心 -> 信任中心设置 -> 宏设置”。
  • 勾选“启用所有宏”和“信任对VBA工程对象模型的访问”,然后点击“确定”。
  • 这样,宏代码就能顺利运行,不会被系统限制。

Image

第二步:编写VBA代码

1. 打开VBA编辑器

VBA代码的编写需要借助PPT的VBA编辑器来完成。按以下步骤操作:

  • 点击PPT中的“开发工具”选项卡,然后选择“Visual Basic”,这时会弹出一个VBA编辑器窗口。

Image

  • 在VBA编辑器中,点击“插入 -> 模块”,创建一个新的代码模块。

Image

2. 粘贴核心代码

在新建的模块中,你需要粘贴调用DeepSeek API的核心代码。请注意,代码中会包含你从DeepSeek获取的API Key,所以要确保正确替换。

代码的目的是将PPT中的选中文本发送给DeepSeek API,获取处理后的文本并返回给PPT中。

Image

具体的代码

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 = NothingEnd 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 = NothingEnd Function
Sub DeepSeekR()Dim selectedText As StringDim apikey As StringDim response As StringDim midString As StringDim ans As StringDim shp As ShapeDim slide As slide Dim regex As Object Dim matches As ObjectDim selectedShape As Shape' 检查是否有选中的对象If ActiveWindow.Selection.Type = ppSelectionShapes Then' 获取选中的形状Set selectedShape = ActiveWindow.Selection.ShapeRange(1)
' 检查形状是否有文本If selectedShape.HasTextFrame ThenIf selectedShape.TextFrame.HasText ThenselectedText = selectedShape.TextFrame.TextRange.TextselectedText = 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

ElseMsgBox "选中的形状没有文本内容。"End IfElseMsgBox "选中的形状没有文本框。"End IfElseMsgBox "请选择一个形状。"End IfEnd Sub

第三步:自定义功能区

1. 添加自定义按钮

为了方便使用,我们可以在PPT中添加一个按钮,点击它就能触发刚才写的宏。步骤如下:

  • 点击“文件 -> 选项 -> 自定义功能区”,右键点击“开发工具”,然后选择“添加新组”。
  • 将新组命名为“DeepSeek”,并选择一个你喜欢的图标(这样一眼就能找到它)。

Image

2. 绑定宏到按钮

接下来,我们要将写好的宏绑定到这个新组中的按钮上:

  • 在左侧的命令列表中,找到“宏”并选择它,然后找到你刚才创建的宏(假设它叫做“CallDeepSeekAPI”)。
  • 点击“添加”按钮,将它加入到右侧的“DeepSeek”组里,最后点击“确定”保存。

Image

这样,你就能在PPT的菜单栏中看到这个新按钮了!

第四步:测试功能

好了,准备工作都完成了,接下来就可以开始测试功能啦。操作很简单:

  1. 打开你的PPT文件,选中一个包含文本的形状。
  2. 输入一些简单的文本,比如“你好,AI!”,作为测试内容。
  3. 点击菜单栏中的“DeepSeekAPI”按钮,看看神奇的AI效果!
  4. 如果设置正确,DeepSeek就会处理你输入的文本,并返回处理后的结果,显示在选中的文本框里。

Image

处理可能的错误

在使用的过程中,难免会遇到一些小问题。以下是一些常见的错误及解决方法:

  • API Key错误:检查你的API Key是否正确。记得替换代码中的apiKey值为你获得的真实API Key。
  • 网络问题:确保你的设备连接了网络,DeepSeek需要通过互联网进行调用。
  • 参数设置错误:如果返回的结果不如预期,检查代码中的参数设置,确认是否符合API要求。

通过以上步骤,你就能顺利在PPT中接入DeepSeek API,让AI为你的PPT添加更多智能化的功能,提升演示效果。如果你按照教程一步步操作,应该没有太大的问题,哪怕你之前没写过VBA代码,也能通过这些步骤轻松搞定。

最后,我为大家打造了一份deepseek的入门到精通教程,完全免费:https://www.songshuhezi.com/deepseek

同时,也欢迎加入下方的交流群,一起研究deepseek的最新玩法

图片