用 VBA 将 Excel 中单元格内的英文自动翻译成中文内容

本文将教你如何利用 VBA 代码自动将 Excel 单元格中的英文内容翻译成中文。我们将使用 DeepL 翻译 API 来实现这一功能,并提供详细的代码示例和步骤。

准备工作

  1. 安装 JSON 解析器:你需要在你的 Excel 中安装一个 JSON 解析器,例如 JsonConverter。你可以从网上搜索并下载安装。
  2. 获取 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

代码解析

  1. 获取选中单元格的文本Text = Selection.Value
  2. 构建翻译 API 的 URL:使用 YOUR_AUTH_KEY 替换你自己的 API 认证密钥。
  3. 发送 HTTP 请求:使用 MSXML2.XMLHTTP 对象发送 GET 请求到翻译 API。
  4. 解析 JSON 响应:使用 JsonConverter 解析 API 返回的 JSON 数据。
  5. 提取翻译结果:从解析后的 JSON 数据中提取翻译后的文本。
  6. 将翻译结果写入选中单元格:将翻译后的文本写入选中的单元格。

使用方法

  1. 将上面的代码复制到你的 Excel 的 VBA 编辑器中。
  2. 替换 YOUR_AUTH_KEY 为你自己的 DeepL 翻译 API 认证密钥。
  3. 选择你要翻译的单元格。
  4. 运行 Translate 子程序。

现在,你选中的单元格的英文内容就会被自动翻译成中文了!

注意:

  • 本代码需要你已经安装了 JsonConverter 等 JSON 解析器。
  • DeepL API 的使用有频率限制,请注意不要过度使用。
  • 如果你需要翻译其他语言,可以修改 source_langtarget_lang 参数。

希望本文能帮助你快速掌握如何使用 VBA 自动翻译 Excel 中的英文内容。如有任何问题,欢迎在评论区留言!

VBA 自动翻译 Excel 单元格英文内容 - 深入解析及代码示例

原文地址: https://www.cveoy.top/t/topic/mhPm 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录