使用应用程序脚本将 MS Word 文件(保存在云端硬盘中)转换为 Google 文档

Converting MS Word files (saved in Drive) to Google Docs using app script

我遇到了一些问题,找不到解决办法。有没有办法使用文件 url 或 id 将存储在 Google 驱动器中的 MS Word 文件转换为 Google 文档?我目前有一个包含文件 URL 的电子表格。或者,也可以使用 python 脚本。任何帮助或想法将不胜感激! 谢谢!

这很容易做到。这是电子表格应用程序的脚本(但不是 Python):

function main() {

  var ids = [
    '1MSZwvWwZFwiS0LfDYpUL9vvKXCvbeZkO',
    '1BxECZrrIQpKFJYN5zHUeUDxeEiB8NjEb'
  ];

  for (var id of ids)  convert_docx_to_google_doc(id);

}

function convert_docx_to_google_doc(id) {
  var docx       = DriveApp.getFileById(id);
  var folder     = docx.getParents().next();
  var blob       = docx.getBlob();
  var new_file   = Drive.newFile(); // Enable the Advanced Drive API Service
  var google_doc = Drive.Files.insert(new_file, blob, {convert:true});
  
  DriveApp.getFileById(google_doc.id)
    .setName(docx.getName()
    .replace(/\.docx$/,''))
    .moveTo(folder);
}

它获取 ID 数组并将 docx 文件作为 google 文档保存到相同的原始文件夹中。并从 google 文档文件的名称中删除“.docx”扩展名。

但是你确定你需要它吗? Google Docs 可以原生打开和保存 MS Word 文档。

我找到了一段代码here

我尝试了代码,它运行良好

function convert_word_to_doc() {
  // Replace file_id with your file id
  var docx = DriveApp.getFileById('file_id')
  var newDoc = Drive.newFile();
  var blob = docx.getBlob();
  var file = Drive.Files.insert(newDoc,blob,{convert:true});
  DocumentApp.openById(file.id).setName(docx.getName());
  return file.id
}