2013-07-05 4 views
0

사용자가 데이터를 제출하고 스프레드 시트에 데이터를 쓸 수있는 GUI 응용 프로그램을 만들었습니다. 이 스프레드 시트에는 가시성 옵션 인 "링크가있는 모든 사용자"와 "편집 가능"권한이 있습니다.다른 스크립트가 스프레드 시트를 편집 할 때 onEdit() 트리거 문제가 발생했습니다.

또한 변경 사항이 발생할 때마다 실행해야하는 onEdit() 트리거가 있습니다. 스프레드 시트에 데이터를 쓰는 데 아무런 문제가 없지만 트리거가 작동하지 않습니다.

이 문제에 대해 저에게 도움을 주시기 바랍니다.

미리 감사드립니다.

답변

0

onEdit 트리거는 테이블의 내용을 수동으로 변경할 때만 실행됩니다.

) = 내 나쁜 영어에 대한

function edit(str){ //general onedit function 
    //do somethig (For example add " edited") 

    var cell = SpreadsheetApp.getActiveSheet().getActiveCell(); 
    cell.setValue(str + ' edited'); 
} 

function onEdit(){ 
    var str = SpreadsheetApp.getActiveSheet().getActiveCell().getValue(); 
    edit(str); 
} 

function gui(){ 
    var app = UiApp.createApplication(); 
    var tb = app.createTextBox().setName('tb'); 

    var hndlr = app.createServerHandler('onSend').addCallbackElement(tb); 
    var btn = app.createButton('Send').addClickHandler(hndlr); 

    SpreadsheetApp.getActiveSpreadsheet().show(app.add(tb).add(btn)); 
} 

function onSend(e){ 
    var str = e.parameter.tb; 
    edit(str); 
} 

미안 :

당신은 onEdit 일반 함수를 작성하고 UiApp에서 호출하고 실행할 수 있습니다