ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 4648|回复: 30

[原创] VBA与AI的第一次对话-----Open AI(ChatGPT)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-2-3 22:39 | 显示全部楼层 |阅读模式
先上代码,VBA连接Open API
  1. Public Function OpenAI(prompt As String) As String
  2.      Dim url As String, apiKey  As String
  3.      Dim response As Object, json As String
  4.      apiKey = "替换成你自己的key"
  5.      url = "https://api.openai.com/v1/completions"
  6.      Set response = CreateObject("MSXML2.XMLHTTP")
  7.      response.Open "POST", url, False
  8.      response.SetRequestHeader "Content-Type", "application/json"
  9.      response.SetRequestHeader "Authorization", "Bearer " + apiKey
  10.      response.Send "{""model"":""text-davinci-003"",""prompt"":""" & prompt & """,""max_tokens"":10}"
  11.      json = response.responseText
  12.      OpenAI = Split(Mid(json, InStr(json, """text"":""") + 8), """")(0)
  13.      OpenAI = Replace(OpenAI, "\n", "")
  14. End Function
复制代码
  1. Sub test()
  2.        Dim t As String
  3.        t = OpenAI("say hello to me")
  4.        Debug.Print t
  5. End Sub
复制代码
说明一下:帖子发布时,还没测试成功。不挂梯子,报错:指定资源下载失败。挂梯子,到send这一句一直转圈圈
注册及申请key地址:https://platform.openai.com/account/api-keys。
亲测,国内163邮箱无法注册,我用的是谷歌gmail账号登录的。需要绑定手机号,而且必须是国外的
API注册成功后有赠送的18美金。用完需充值,非免费。所以代码中我把自己的apiKey删除了

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-2-4 00:04 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
下面是AI根据我的提问“写一段VBA代码:连接Open AI的API”,自动写出来的VBA代码。没有任何修改。
太让我震撼了
  1. Sub OpenAIRequest()
  2.     Dim httpRequest As Object
  3.     Set httpRequest = CreateObject("WinHttp.WinHttpRequest.5.1")

  4.     Dim API_URL As String
  5.     API_URL = "https://api.openai.com/v1/engines/davinci/jobs"

  6.     httpRequest.Open "POST", API_URL, False
  7.     httpRequest.SetRequestHeader "Content-Type", "application/json"
  8.     httpRequest.SetRequestHeader "Authorization", "Bearer <API_KEY>"
  9.     httpRequest.Send "{}"

  10.     If httpRequest.Status = 200 Then
  11.         Debug.Print httpRequest.ResponseText
  12.     Else
  13.         Debug.Print "Request failed with status: " & httpRequest.Status & " " & httpRequest.StatusText
  14.     End If
  15. End Sub
复制代码

AI写完代码,还给了一段提示:
Note that you need to replace <API_KEY> with your own API key for OpenAI. You can obtain one by creating an account on the OpenAI website.
太震撼了

TA的精华主题

TA的得分主题

发表于 2023-2-4 00:56 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2023-2-4 01:24 来自手机 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2023-2-4 08:33 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
楼主厉害了。可惜的是openAI很多内容都不对cn开放,有解吗?

TA的精华主题

TA的得分主题

发表于 2023-2-4 09:28 来自手机 | 显示全部楼层
Openai的注册网站,中国大陆是无法访问的。

百度应该会做个类似chaygpt的出来,访问外网成本越来越高,越来越困难。图个新鲜就没必要折腾了

TA的精华主题

TA的得分主题

发表于 2023-2-4 10:05 | 显示全部楼层
2022,2刷 [星际穿越] ,
2023,搬小板凳看 [AI穿越 之第一次接触]
同样震撼.......

TA的精华主题

TA的得分主题

发表于 2023-2-4 11:23 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
国内有很多镜像站不用注册可以用

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-2-4 12:32 | 显示全部楼层
约定的童话 发表于 2023-2-4 00:56
这么猛的吗?会不会是根据关键字套的模板呢?

不是套模板的,你输入一段汉字需求描述,他可以给你写VBA代码出来,而且逻辑性很强。从而看出来ChatGPT是具有学习能力的。

TA的精华主题

TA的得分主题

发表于 2023-2-4 13:30 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
Stone_00x 发表于 2023-2-4 11:23
国内有很多镜像站不用注册可以用

是吗,谢谢告知,我去找找
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-19 02:17 , Processed in 0.037949 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表