0

У меня возникли проблемы с переименованием файла на Google Диске. Я могу захватить файл в порядке, но как только я его захвачу, мне нужно переименовать его, если он содержит определенную строку.Переименование файла в Google Диске/Лист Google

Я попытался использовать функции .rename() и .setName(), но Google Диск продолжает говорить, что функция не может быть найдена. Любые мысли о том, как переименовать электронную таблицу Google/Google на Google Диске?

/* Iterate over the spreadsheets over the folder */ 
    while(spreadSheets.hasNext()) { 

    var sheet = spreadSheets.next(); 

    /* Get the SpreadSheets Name and Rename it */ 
    var newSSName = sheet.getName(); 

    if(newSSName.search("Tr")>=0){ 
    newSSName.setName("Sheet5");  
    } else if (newSSName.search("Params")>=0){ 
    newSSName.setName("Sheet4"); 
    } else if (newSSName.search("MrSummary")>=0){ 
    newSSName.setName("Sheet3"); 
    } else { 
    newSSName.setName("Sheet2"); 
    }; 
+2

Пожалуйста, посмотрите https://productforums.google.com/forum/#!topic/docs/AP9zMPOyjfg или http://stackoverflow.com/questions/24463870/ google-apps-script-rename-file-not-working –

+0

Что говорит документация на Google Диске? – DaImTo

ответ

1

У вас очень простая проблема. Давайте посмотрим, что вы пытаетесь сделать:

newSSName.setName("Sheet5")

, которые мы можем видеть, как в коде на самом деле

var newSSName = sheet.getName();

, который фактически возвращает string тип. Вместо того, что вам нужно сделать, это

sheet.setName("Sheet5");

, которые вы, кажется, получил здесь

var sheet = spreadSheets.next(); 

/* Get the SpreadSheets Name and Rename it */ 
var newSSName = sheet.getName(); 

Таким образом, вы просто предназначаться неправильной переменным. Пожалуйста, просмотрите Документацию Google о методе setName()