0

セル B2 のスプレッドシートから Google Doc の URL を取得する簡単なコードをいくつか作成しました。コードは一部のドキュメントでは機能しますが、他のドキュメントでは機能しません。

プログラムは、すべてのフォーマットを保持するドキュメントの複製を正しく作成します。そこから、英語のテキストをスペイン語に置き換えることを目指しています。

Http:// リンクでエラーが発生し、一部のドキュメントは完全に再フォーマットされ、他のドキュメントは再フォーマットされません。

提案?

    //This function works to create a nearly perfect copy of the document from English to Spanish. Problems with URLs and some long docs.

function spanishConverter() {
  var ss = SpreadsheetApp.getActiveSpreadsheet(); //bound to Google Sheet
  var listDoc = ss.getSheetByName('Doc List'); //SpreadSheet Page 
  
  var docEng = listDoc.getRange(2,2).getValue(); //Cell pulling URL from
   
  
  var currentDoc = DocumentApp.openByUrl(docEng); //Opens the English version from URL on SpreadSheet
  var docName = currentDoc.getName(); 
  var docId = currentDoc.getId();
  
   
  var newDoc = DriveApp.getFileById(docId).makeCopy('Spanish ' + docName).getUrl(); //Opens and makes a copy and captures URL
  
  
  var newSp = DocumentApp.openByUrl(newDoc);
  
  var body = newSp.getBody();
  var paragraphs = body.getParagraphs();


  //This script loops throught the paragraphs
  for(var i=0; i<paragraphs.length; i++)
  {
    var text = paragraphs[i].getText(); //pulls text per paragraph
    var transText = LanguageApp.translate(text, 'en', 'es');
    Logger.log([text,transText]);
    if (text !== "") //skips blanks 
    {
    body.replaceText(text, transText);
    }
  }

}

4

1 に答える 1