手把手教你:WPS宏调用DeepSeek API,普通人也能玩转AI办公
·
自用的WPS中使用DeepSeek的脚本分享给大家。
主要是因为WPS的要钱,第三方插件又明显卡顿。
✅ 告别复制粘贴:直接在WPS中调用AI,无需切换应用
✅ 节省90%时间:一键处理文档内容,AI即时响应
✅ 成本极低:10元API费用,可用数月
✅ 零代码基础:复制粘贴即可使用,无需编程知识
主要思路是WPS宏调用DeepSeek接口。
效果如图:

效果图
一、DeepSeek官网获取API
1、打开官网,点击右上角API开放平台。

添加图片注释,不超过 140 字(可选)
2、创建API key
创建前要先充值,可以充1元试用,10元钱用不完的用。

添加图片注释,不超过 140 字(可选)
二、WPS中输入代码和API
1、打开宏编辑器界面
打开 工具--开发工具--切换到JS环境。 点击“WPS宏编辑器”,打开宏编辑器界面。

点工具--开发工具

切换到JS环境

打开 WPS宏编辑器
2、插入模块、输入代码
如图,点击Project(NOrmal.dotm),点击点击“插入”--“模块”。在打开的的界面中将后面的代码复制进去。
将其中的API key,替换为第一步获取的APIkey。

插入代码
// 功能:WPS宏调用DeepSeek API
function callDeepSeekAPI() {
// 1. API配置
const apiUrl = "https://api.deepseek.com/chat/completions";
const apiKey = "sk-XX"; // 请替换为您的真实API密钥
// 2. 校验API密钥
if(apiKey == "sk-XX"){
alert("请先配置您自己的DeepSeek API密钥后再使用。");
return;
}
// 3. 获取用户选中的文本
var selection1 = Application.Selection;
selectedText = selection1.Text;
if (selection1.Type === 1 ) {
alert("请先选择一段文本。");
return;
}
// 4. 显示处理中状态提示
let statusBar = Application.CommandBars("Status Bar");
let originalStatus = statusBar.Text;
statusBar.Text = "🤖 DeepSeek AI正在思考中,请稍候...";
// 5. 在文档中插入等待标记(在选中内容后插入)
let selection = Application.Selection;
let originalRange = selection.Range; // 保存原始选中范围
let waitText = "\n\n[AI正在思考中...]\n";
// 在选中文本后插入等待标记,不删除任何原有内容
selection.Collapse(1); // 1 = wdCollapseEnd,将选择范围折叠到末尾
selection.InsertAfter(waitText);
let waitRange = selection.Range; // 记录等待文本的位置
// 6. 构建请求数据
const requestBody = JSON.stringify({
"model": "deepseek-chat",
"messages": [
{"role": "system", "content": "你是一个有用的助手,专注于处理办公文档内容。要输出word能识别的格式,不要输出markdown格式,不要输出html标签"},
{"role": "user", "content": selectedText}
],
"stream": false
});
// 7. 创建并发送HTTP请求
const xhr = new XMLHttpRequest();
xhr.open("POST", apiUrl, false);
try {
xhr.setRequestHeader("Content-Type", "application/json");
xhr.setRequestHeader("Authorization", "Bearer " + apiKey);
xhr.send(requestBody);
// 8. 处理响应
if (xhr.status === 200) {
const response = JSON.parse(xhr.responseText);
const aiResponse = response.choices[0].message.content;
// 将等待文本替换为AI回复,保留所有原始内容
waitRange.Text = "\n" + aiResponse + "\n";
// 恢复状态栏
statusBar.Text = "✅ AI回复已完成!";
} else {
// 请求失败时也删除等待文本,保留原始内容
waitRange.Text = "\n[AI请求失败,请重试]\n";
statusBar.Text = "❌ AI请求失败";
alert("API调用失败!状态码:" + xhr.status);
}
} catch (error) {
// 出错时清理等待文本,保留原始内容
waitRange.Text = "\n[请求出错:" + error.message + "]\n";
statusBar.Text = "❌ 请求出错";
}
}
三、增加到“自定义快速访问”
简单,按图操作,就大功告成了。
可以看到会自动分配一个快捷键,我这是ALT+8。
选中内容,然后点击快速访问 或按 ALT+8 就可以使用deepseek了。


更多推荐



所有评论(0)