VBA 自动翻译 Excel 单元格英文内容 - 深入解析及代码示例
用 VBA 将 Excel 中单元格内的英文自动翻译成中文内容
本文将教你如何利用 VBA 代码自动将 Excel 单元格中的英文内容翻译成中文。我们将使用 DeepL 翻译 API 来实现这一功能,并提供详细的代码示例和步骤。
准备工作
- 安装 JSON 解析器:你需要在你的 Excel 中安装一个 JSON 解析器,例如
JsonConverter。你可以从网上搜索并下载安装。 - 获取 DeepL 翻译 API 认证密钥:你需要在 DeepL 官网注册账号并获取一个免费的 API 认证密钥。
代码示例
Sub Translate()
Dim URL As String
Dim Request As Object
Dim Response As String
Dim JSON As Object
Dim TranslatedText As String
' 获取选中单元格的文本
Dim Text As String
Text = Selection.Value
' 构建翻译 API 的 URL
URL = "https://api-free.deepl.com/v2/translate?auth_key=YOUR_AUTH_KEY&source_lang=en&target_lang=zh&text=" & Text
' 发送 HTTP 请求
Set Request = CreateObject("MSXML2.XMLHTTP")
Request.Open "GET", URL, False
Request.send
' 解析 JSON 响应
Set JSON = JsonConverter.ParseJson(Request.responseText)
TranslatedText = JSON("translations")(1)("text")
' 将翻译结果写入选中单元格
Selection.Value = TranslatedText
End Sub
代码解析
- 获取选中单元格的文本:
Text = Selection.Value - 构建翻译 API 的 URL:使用
YOUR_AUTH_KEY替换你自己的 API 认证密钥。 - 发送 HTTP 请求:使用
MSXML2.XMLHTTP对象发送 GET 请求到翻译 API。 - 解析 JSON 响应:使用
JsonConverter解析 API 返回的 JSON 数据。 - 提取翻译结果:从解析后的 JSON 数据中提取翻译后的文本。
- 将翻译结果写入选中单元格:将翻译后的文本写入选中的单元格。
使用方法
- 将上面的代码复制到你的 Excel 的 VBA 编辑器中。
- 替换
YOUR_AUTH_KEY为你自己的 DeepL 翻译 API 认证密钥。 - 选择你要翻译的单元格。
- 运行
Translate子程序。
现在,你选中的单元格的英文内容就会被自动翻译成中文了!
注意:
- 本代码需要你已经安装了
JsonConverter等 JSON 解析器。 - DeepL API 的使用有频率限制,请注意不要过度使用。
- 如果你需要翻译其他语言,可以修改
source_lang和target_lang参数。
希望本文能帮助你快速掌握如何使用 VBA 自动翻译 Excel 中的英文内容。如有任何问题,欢迎在评论区留言!
原文地址: https://www.cveoy.top/t/topic/mhPm 著作权归作者所有。请勿转载和采集!