ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 在运行中出现了一个错误,请论坛内的高人指点一二!

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-9-26 15:20 | 显示全部楼层 |阅读模式

我在讯飞星火上面所要了一段在excel 2016版上的VBA代码,这里面主要是对一些因为资料在电子表格内进行翻译。

——————————————————————————————————————————————————————————

Microsoft Translator API的步骤:

  • 启用开发者选项卡

    • 打开Excel。
    • 点击“文件”>“选项”。
    • 在Excel选项对话框中,选择“自定义功能区”。
    • 在右侧的“主选项卡”列表中,勾选“开发工具”选项。
    • 点击“确定”。
  • 打开VBA编辑器

    • 在Excel中按Alt + F11键打开VBA编辑器。
  • 插入新模块

    • 在VBA编辑器中,点击“插入”>“模块”,创建一个新的模块。
  • 编写VBA代码

    • 在新模块中,粘贴以下代码:        复制代码
      Sub TranslateText()    Dim sourceText As String    Dim targetLanguage As String    Dim translatedText As String    Dim apiKey As String    Dim url As String    Dim objHTTP As Object    Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")    ' 设置要翻译的文本和目标语言    sourceText = Range("A1").Value ' 假设要翻译的文本在A1单元格    targetLanguage = "zh-CN" ' 将英文翻译成中文    ' 替换为您的Microsoft Translator API密钥    apiKey = "YOUR_MICROSOFT_TRANSLATOR_API_KEY"    ' 构建请求URL    url = "https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=" & targetLanguage & "&textType=plain&isVertical=false"    ' 发送HTTP请求    With objHTTP        .Open "POST", url, False        .setRequestHeader "Ocp-Apim-Subscription-Key", apiKey        .setRequestHeader "Content-Type", "application/json"        .send "[{""Text"":""" & sourceText & """}]"        Dim response As String        response = .responseText    End With    ' 解析JSON响应并获取翻译后的文本    Dim json As Object    Set json = ParseJson(response)    translatedText = json(1)("translations")(1)("text")    ' 将翻译后的文本放入B1单元格    Range("B1").Value = translatedTextEnd Sub
         
  • 添加JSON解析函数:————这里面关于添加JSON解析函数我就直接复制到上面这行代码下面了(我不太明白这个添加解析函数的操作步骤,也许我的操作步骤有问题)

    • 在新模块中,粘贴以下代码以解析JSON响应:        复制代码
      Function ParseJson(jsonString As String) As Object    Dim jsonObject As Object    Set jsonObject = JsonConverter.ParseJson(jsonString)    Set ParseJson = jsonObjectEnd Function
         
  • 运行宏

    • 关闭VBA编辑器并返回Excel。
    • 在“开发工具”选项卡中,点击“宏”按钮。
    • 在宏列表中找到并选择“TranslateText”宏,然后点击“运行”。
    • ————————————————————————————————————————————————————
    • 后来点击运行后也找到了“TranslateText”宏,但是运行的时候给我错误提示


错误提示.png

附件1.rar

6.68 KB, 下载次数: 8

TA的精华主题

TA的得分主题

发表于 2024-9-27 10:02 | 显示全部楼层
不要用serverxmlhttp,改用xmlhttp试下

TA的精华主题

TA的得分主题

发表于 2024-9-27 10:09 | 显示全部楼层
先不说ai给的代码对不对
目测你没有去获取到微软的apikey
image.png

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-10-8 19:48 | 显示全部楼层
语虚何以言知 发表于 2024-9-27 10:09
先不说ai给的代码对不对
目测你没有去获取到微软的apikey

恩。能否帮忙用其他办法解决这个问题吗?
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-19 07:31 , Processed in 0.036597 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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