스크립트 편집기 : onOpen 함수 (아래 참조)를 사용하여 스크립트를 작성했습니다. 스크립트 편집기로 시작하면 제대로 작동합니다. 스프레드 시트가 열릴 때 시작되면 stmt 31 "Logger.log (name)"의 로그가 표시됩니다. 왜? 다른 스크립트와 스크립트 편집기 취급에서 onOpen
를 실행onOpen 함수가 올바르게 작동하지 않습니다.
function onOpen() {
n0="T22 ";
n1=n0+"aktuell"
n2=n0+"Master"
var y1=DayShift();
Browser.msgBox("Returned with "+y1);
};
function DayShift() {
var dt=Browser.inputBox("Datum (YYMMDD) eingeben");
if (dt=="cancel" || dt.length !=6) return("Input "+dt);
var f1=GetFL(n1,0);
if (f1=="cancel") return("F1 cancel");
Logger.log(f1);
var Rx=f1.getSheetByName("Sheet1").getRange("B9").getValue();
f1.rename(n0+dt);
Logger.log(Rx);
Logger.log(f1.getName()+" finished");
var f2=GetFL(n2,1);
if (f2=="cancel") return("F2 cancel");
Logger.log(f2);
f2.getSheetByName("Sheet1").getRange("B7").setValue(Rx);
Logger.log(f1.getName()+" finished");
return("OK");
};
function GetFL(name,typ) {
Logger.log(name);
var fx = DocsList.find(name);
Logger.log(name+" = "+fx.length);
if (fx.length != 1) return("cancel");
if (typ==1) {
var fy=fx[0].makeCopy(n1);
} else {
var fy=fx[0];
};
fy=SpreadsheetApp.openById(fy.getId());
Logger.log(fy);
return (fy);
};
무엇이 질문입니까? – simonmorley
코드에 주석을 달아보십시오. 당신이 그것을 이해하는 데 도움이 될 수 있습니다. – ScampMichael
여기에 ScampMichael에 동의합니다. 그러나 이것에 대한 대답은 그것이하고있는 일에 대한 이해가 필요하지 않습니다. – Jonathon