在PPT上接入DeepSeek,爽到起飞【保姆级教程】
于是,我决定写一篇保姆级的教程,教大家如何在PPT中接入DeepSeek,利用VBA实现自动化。
如果你和我一样,觉得在PPT中加入一些AI功能会让演示更酷、更高效,那就继续往下看,保证你按照这个步骤来,能轻松实现操作!
如果你还没有Office,那你可以点击后面的链接获取Office:https://sourl.cn/2M7Z7X
第一步:准备工作
1. 获取DeepSeek的API Key
首先,想要调用DeepSeek的AI功能,必须有一个API Key。现在DeepSeek的官网API充值暂停了,大家可以参考一些其他方法获取API Key
腾讯云api key:https://curl.qcloud.com/T3M5yBHp
阿里云api key:https://sourl.cn/T4Swar
2. 启用PPT的开发者工具
你得先让PPT的“开发工具”选项卡显现出来,不然我们编写VBA代码时会很麻烦。打开PPT,点击“文件”->“选项”->“自定义功能区”,然后勾选“开发工具”,再点击“确定”。
完成后,你会在PPT的菜单栏看到“开发工具”选项卡。
3. 调整信任设置
PPT默认会对宏有一些安全设置,我们需要调整一下才能让VBA代码正常运行。点击“文件”->“选项”->“信任中心”->“信任中心设置”->“宏设置”,勾选“启用所有宏”和“信任对VBA工程对象模型的访问”,然后点击“确定”。
这样,你的宏代码就不会被阻止了。
第二步:编写VBA代码
1. 打开VBA编辑器
一切准备好后,点击PPT的“开发工具”选项卡,然后点击“Visual Basic”
会弹出一个VBA编辑器的窗口。在这个窗口里,我们可以编写代码来连接DeepSeek的API。
2. 粘贴核心代码
在VBA编辑器里,点击“插入”->“模块”,会弹出一个空白模块,准备好粘贴代码。
Function CallDeepSeekAPI(api_key As String, inputText As String)Dim API As StringDim SendTxt As StringDim Http As ObjectDim status_code As IntegerDim response As StringMsgBox "开始调用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 SendTxtstatus_code = .Statusresponse = .responseTextEnd WithIf status_code = 200 ThenCallDeepSeekAPI = responseElseCallDeepSeekAPI = "Error: " & status_code & " - " & responseEnd IfSet Http = NothingEnd FunctionFunction CallDeepSeekRAPI(api_key As String, inputText As String)Dim API As StringDim SendTxt As StringDim Http As ObjectDim status_code As IntegerDim response As StringMsgBox "开始调用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 SendTxtstatus_code = .Statusresponse = .responseTextEnd WithIf status_code = 200 ThenCallDeepSeekRAPI = responseElseCallDeepSeekRAPI = "Error: " & status_code & " - " & responseEnd IfSet Http = NothingEnd FunctionSub DeepSeekR()Dim selectedText As StringDim apikey As StringDim response As StringDim midString As StringDim ans As StringDim shp As ShapeDim slide As slideDim regex As ObjectDim 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" ThenSet regex = CreateObject("VBScript.RegExp")With regex.Global = True.MultiLine = True.IgnoreCase = False.Pattern = """content"":""(.*?)"""End WithSet matches = regex.Execute(response)If matches.Count > 0 Thenresponse = 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 = responseElseMsgBox "Failed to parse API response.", vbExclamationEnd IfElseMsgBox response, vbCriticalEnd IfElseMsgBox "选中的形状没有文本内容。"End IfElseMsgBox "选中的形状没有文本框。"End IfElseMsgBox "请选择一个形状。"End IfEnd Sub
注意,代码里有一个apiKey,你需要把它替换成你获取的API Key。
这里代码的作用是选取幻灯片上的文本,发送给DeepSeek进行处理,然后把返回的结果显示在选中的文本框里。
第三步:自定义功能区
1. 添加自定义按钮
为了让操作更简便,我们可以在PPT的功能区添加一个按钮,直接点击就能调用AI功能。点击“文件”->“选项”->“自定义功能区”,右键点击“开发工具”,选择“添加新组”。你可以把新组命名为“DeepSeek”,还可以给它挑选个喜欢的图标。
2. 绑定宏到按钮
接下来,在“左侧命令列表”里找到你刚刚创建的宏“CallDeepSeekAPI”(就是你刚才写的代码的宏名称)。然后,点击“添加”,将它添加到右侧的“DeepSeek”组里,点击“确定”就好啦。
第四步:测试功能
好了,操作终于到最后一步了!我们来测试一下新功能。
打开PPT,选中一个包含文本的形状(比如文本框)。 输入一些文字,比如说“你好,AI!”。
然后,点击你刚刚添加的“DeepSeekAPI”按钮。 如果一切顺利,DeepSeek就会返回处理过后的文本,显示在你选中的文本框里。
处理可能的错误
遇到问题也别慌!这里有一些常见错误的处理方法:
API Key错误:确保你在代码中填入了正确的API Key。 网络问题:DeepSeek的API需要联网才能调用,检查一下网络连接是否正常。 参数设置问题:如果DeepSeek返回了奇怪的结果,可以看看代码里的参数设置是否有问题。
看完这些步骤,你是不是觉得其实并不复杂?只要按照这些步骤一步一步操作,AI就能帮助你快速处理PPT中的文本,自动生成内容或者做一些智能优化,让你的PPT呈现更加高效。
总之,使用DeepSeek API的功能将大大提升你的工作效率,不信的话,你就试试看!
好了,就到这里。希望这篇文章能帮到你,如果有问题或者想了解更详细的操作,随时留言,我会尽力解答!
最后,我为大家打造了一份deepseek的入门到精通教程,完全免费:https://www.songshuhezi.com/deepseek
同时,也欢迎加入下方的交流群,一起研究deepseek的最新玩法