我的代码用得很好但是因为几周我遇到了麻烦。
首先我定义了mooveFile函数:
1
然后我在我的脚本中调用该函数:
function mooveFile(file,folder,source,copyNameFile){
var newfile = file.makeCopy(copyNameFile, folder);
source.removeFile(file);
Logger.log(source.getFiles().length);
return newfile.getUrl();
}
我得到的错误是:
TypeError:无法从undefined调用“makeCopy”方法。
在我看来,问题来自:
if (statutFile=="Validé") {
var fichiersj=folderSource.getFilesByName(libeleFile);
while (fichiers.hasNext()) {
var fichiersj = fichiers.next();}
var urlFichierVal = mooveFilde(fichiersj,folderValid,folderSource,nomFichier);
sheetform.getRange(i+1,23).setValue("Deplacé");
if (typeFichier == "DEVIS") {
sheetform.getRange(i+1,34).setValue(urlFichierVal);}
if (etatLien !="Lien modifiée") {
var urlFichierValide = urlFichierVal;
var hyp = '"'+urlFichierValide+'"';
var argHyp = ";";
var sepHyp = '"';
var hrefHyp = "=HYPERLINK("+hyp+argHyp+sepHyp+"Accèder au "+typeFichier+" Validé"+'")';
sheetform.getRange(i+1,18).setValue("Lien modifiée");
sheetform.getRange(i+1,6).setValue(hrefHyp);
}
}
但是我不知道它是如何变得不确定的。它用得很好!
答案 0 :(得分:1)
您的代码中看起来还有一个额外的内容:
var fichiersj = fichiers.next();}
这是在该行之后结束While循环,而不是执行其余的代码。
while循环结束后,“fichiersj”未定义,因为它只在循环中定义。