wps或office的word接入豆包API(VBA版本)

devtools/2025/2/15 11:33:19/

直接上代码,由于时间匆忙,以后写个详细的教程

#If VBA7 ThenPrivate Declare PtrSafe Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
#ElsePrivate Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
#End IfSub GetSelectedTextAndCallDouBaoAPI()Dim selectedText As StringDim apiUrl As StringDim apiKey As StringDim requestBody As StringDim http As ObjectDim responseText As String' 获取当前选中的文本On Error Resume NextselectedText = Selection.TextOn Error GoTo 0If selectedText = "" ThenMsgBox "请先在文档中选择一段文字!", vbExclamationExit SubEnd If' 设置API相关信息apiUrl = "https://ark.cn-beijing.volces.com/api/v3/chat/completions"apiKey = "xxx-xxx-xxxx" ' 请替换为你的实际API密钥' 转义特殊字符selectedText = Replace(selectedText, """", "\""")   ' 转义双引号selectedText = Replace(selectedText, "\", "\\")     ' 转义反斜杠' 构建请求体(根据实际API文档调整)requestBody = "{""model"":""xxxx-xxx-xxx"",""messages"":[{""role"":""user"",""content"":""" & selectedText & """}]}"' 清除字符串中的回车和换行符requestBody = Replace(requestBody, vbCrLf, "")requestBody = Replace(requestBody, vbCr, "")requestBody = Replace(requestBody, vbLf, "")' 打印调试信息Debug.Print "Authorization: Bearer " & apiKeyDebug.Print "Request Body: " & requestBody' 创建HTTP请求对象Set http = CreateObject("MSXML2.XMLHTTP")' 发送POST请求With http.Open "POST", apiUrl, False.setRequestHeader "Content-Type", "application/json".setRequestHeader "Authorization", "Bearer " & apiKey ' 确保API密钥通过Authorization头传递.send requestBody' 获取响应文本responseText = .responseTextDebug.Print "Response: " & responseTextEnd With' 检查并处理响应If InStr(responseText, "error") > 0 ThenMsgBox "API调用失败: " & responseText, vbCriticalExit SubEnd If' 解析结果(根据实际API返回格式调整)resultContent = ParseResponse(responseText)' 插入结果到文档If resultContent <> "" ThenSelection.InsertAfter vbNewLine & "豆包回复:" & vbNewLine & resultContentElseMsgBox "API返回结果解析失败111"End If
End SubFunction ParseResponse(responseText As String) As String' 自定义解析逻辑(根据实际API返回格式调整)Dim contentTag As StringDim StartPos As LongDim EndPos As Long' 示例解析方式:查找 "content": "..." 模式contentTag = """content"":"""StartPos = InStr(responseText, contentTag)If StartPos > 0 ThenStartPos = StartPos + Len(contentTag) + 1 ' 跳过引号EndPos = InStr(StartPos, responseText, """")If EndPos > StartPos ThenParseResponse = Mid(responseText, StartPos, EndPos - StartPos)' 处理转义字符ParseResponse = Replace(ParseResponse, "\n", vbNewLine)ParseResponse = Replace(ParseResponse, "\""", """")End IfEnd If
End Function

代码中有两个参数需要替换,一个是apikey,另一个是model

把代码复制到wps或者word的VBA编辑器中即可运行

效果如下:


http://www.ppmy.cn/devtools/159036.html

相关文章

浅谈无人机群技术的作战应用与战略意义

近年来&#xff0c;无人机技术在军事领域的应用迅速崛起&#xff0c;成为现代战争中不可或缺的力量倍增器。无人机群技术&#xff0c;即通过集群控制系统使多个无人机在相同或不同任务环境下协同工作&#xff0c;形成一种集体作战、智能化操作的新模式&#xff0c;更是将这一趋…

汽车油箱行业分析

一、行业现状 汽车油箱行业作为汽车产业的重要组成部分&#xff0c;主要负责燃油的储存、转移和使用&#xff0c;是发动机的动力来源。随着汽车市场的不断扩大和消费者对汽车性能要求的提高&#xff0c;汽车油箱行业也在不断创新和升级。目前&#xff0c;汽车油箱行业正朝着轻…

Python的web框架Flask适合哪些具体的应用开发?

Flask 适用的具体应用及实现案例代码 Flask 是一个轻量级的 Web 应用框架,以其简洁性和灵活性而广受欢迎。以下是 Flask 适合的具体应用场景及相关的实现案例代码: 1. 小型网站或博客 由于 Flask 的简洁性和易于使用的特性,它非常适合用来搭建个人博客或者小型的企业网站…

RK3588开发板部署DeepSeek-R1-Distill-Qwen-1.5B的步骤及问题

目录 引言 为什么要做端侧部署 技术发展层面 应用需求层面 开发与成本层面 产业发展层面 模型选择 模型蒸馏 模型转换 量化选择 量化方式 模型大小 计算效率 模型精度 测试 测试程序编译 测试结果 结语 引言 最近DeepSeek已经成为一个非常热门的话题&#x…

解决DeepSeek服务器繁忙问题

目录 解决DeepSeek服务器繁忙问题 一、用户端即时优化方案 二、高级技术方案 三、替代方案与平替工具&#xff08;最推荐简单好用&#xff09; 四、系统层建议与官方动态 用加速器本地部署DeepSeek 使用加速器本地部署DeepSeek的完整指南 一、核心原理与工具选择 二、…

STM32自学记录(九)

STM32自学记录 文章目录 STM32自学记录前言一、DMA杂记二、实验1.学习视频2.复现代码 总结 前言 DMA 一、DMA杂记 DMA&#xff08;Direct Memory Access&#xff09;直接存储器存取 DMA可以提供外设和存储器或者存储器和存储器之间的高速数据传输&#xff0c;无须CPU干预&…

有哪些免费的SEO软件优化工具

随着2025年互联网的不断发展&#xff0c;越来越多的企业意识到在数字营销中&#xff0c;网站的曝光度和排名至关重要。无论是想要提高品牌知名度&#xff0c;还是想要通过在线销售增加收益&#xff0c;SEO&#xff08;搜索引擎优化&#xff09;都是一项不可忽视的关键策略。而要…

2025年SEO自动优化工具

随着2025年互联网的快速发展&#xff0c;越来越多的企业和个人意识到&#xff0c;拥有一个排名靠前的网站对于吸引客户、增加流量、提高转化率至关重要。而要想让自己的网站脱颖而出&#xff0c;获得更多曝光&#xff0c;最重要的一项工作就是进行SEO优化。传统的SEO优化方式通…