如何在wps excel中加载deepseek?(文章后附VBA代码)

第一步:【安全设置】打开WPS-EXCEL,选择“文件”—“选项”—“信任中心”,勾选“启用宏后自动添加为受信任的文档”、“启用所有第三方COM加载项,重启WPS后生效”两个按钮,点击“确定”。

第二步:【打开VB 编辑器】打开WPS-EXCEL,选择工具栏中的“工具”—“开发工具”—“VB编辑器”。

第三步:【打开VB编辑器,存入开发代码】选择左侧工程中的”Project“点击右键,依次选择”插入“—”模块“,复制代码至”模块1“的VB编辑器中,点击保存。

第四步:【打开EXCEL,调用deepseek】在打开的EXCEL表格中,任意选中单元格,输入”=deepseek“,系统自动弹出【=deepseek()】,在括号内先写双引号,引号内输入你想让deepseek完成的工作。示例中,我写下了”请对A、B、C、D、E列分别求和,再对前面得出的结果求解平均,再对结果开平方“。

第五步:【验证deepseek生成的公式是否准确】deepseek自动生成公式后,复制至其他单元格即可使用,系统已完成公式书写,并计算出相应结果。

第六步:【deepseek还能为你做什么】与第四步相同,要求deepseek依次输入青海省各市、州面积。

第七步:【验证deepseek输出面积是否正确】经与百度结果比对,认为deepseek数据库可能未做更新,实例仅供参考,有兴趣的朋友可自行尝试。



VB开发代码

'在“Const YOUR_DEEPSEEK_API_KEY”配置自己的deepseek sk-开头的API KEY
'官网:https://platform.deepseek.com/usage
Const YOUR_DEEPSEEK_API_KEY  As String = "<DeepSeek API Key>"
Function deepseek(userQuery As String, _
    Optional base_str As String = "")
    
    ' 创建XMLHTTP对象
    Dim xhr As Object
    Set xhr = CreateObject("MSXML2.XMLHTTP.6.0")
    
    If base_str <> "" Then
        userQuery = userQuery & "你分析的内容:" & base_str
    End If
    
    userQuery = userQuery & ",请尽量直接返回处理结果,不需要过程!"
    
    '转JSON辅助用
    userQuery = EscapeJsonString(userQuery)
    
    requestBody = "{""model"": ""deepseek-chat"", ""messages"":[{""role"": ""system"", ""content"": ""你是一个Excel办公助手!""},{""role"": ""user"", ""content"": """ & userQuery & """}],""max_tokens"": 2048,""stream"": false}"
    
    
    With xhr
        .Open "POST", "https://api.deepseek.com/chat/completions", True
        
        ' 设置请求头
        .setRequestHeader "Content-Type", "application/json"
        .setRequestHeader "Authorization", "Bearer " & YOUR_DEEPSEEK_API_KEY
        
        ' 开始时间
        st = Timer
        ' 发送请求
        .send requestBody
        n = 0
        Do While .readyState <> 4
            If Timer - st > 100 Then
                .abort
                st = Timer
                .send requestBody
                n = n + 1
            End If
            DoEvents
            If n > 3 Then
                deepseek = "请求失败" + .Status
                Exit Function
            End If
        Loop
        
        ' 获取响应
        If .Status = 200 Then
            deepseek = Replace(Trim(Replace(Split(Split(.responseText, """content"":")(1), "}")(0), Chr(34), "")), "\n", Chr(10))
        End If
    End With
End Function

Function EscapeJsonString(inputStr As String) As String
    Dim result As String
    Dim i As Integer
    Dim char As String
    
    result = ""
    
    For i = 1 To Len(inputStr)
        char = Mid(inputStr, i, 1)
        
        Select Case char
            Case """"
                result = result & "\"""
            Case "\"
                result = result & "\\"
            Case "/"
                result = result & "\/"
            Case vbBack
                result = result & "\b"
            Case vbFormFeed
                result = result & "\f"
            Case vbCrLf
                result = result & "\r\n"
            Case vbLf
                result = result & "\n"
            Case vbCr
                result = result & "\r"
            Case vbTab
                result = result & "\t"
            Case Else
                ' 处理其他字符(包括Unicode字符)
                If Asc(char) < 32 Or Asc(char) > 126 Then
                    result = result & "\u" & Right("0000" & Hex(AscW(char)), 4)
                Else
                    result = result & char
                End If
        End Select
    Next i
    
    EscapeJsonString = result
End Function

评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

The丶Star

谢谢支持与鼓励!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值