2013-05-24 2 views
0

스프레드 시트를 프로그래밍하려고하므로 새 항목을 추가 할 때마다 해당 셀의 데이터를 다른 스프레드 시트로 복사합니다. 여기에 내 코드 (작동하지 않는 것)가 있습니다.편집시 한 스프레드 시트의 데이터를 다른 스프레드 시트로 복사하는 방법

function onEdit(e) { 
    var sheet = SpreadsheetApp.getActiveSheet(); 
    var target = SpreadsheetApp.openById("*************"); 
    var target_sheet = target.getSheetByName("Dashboard"); 
    var last_row = target_sheet.getLastRow(); 
    target_sheet.insertRowAfter(last_row); 
    var target_range = target_sheet.getRange("A"+(last_row+1)+":G"+(last_row+1)); 
    e.range.copyTo(target_range); 
} 

내가 잘못하고있는 아이디어가 있습니까?

답변

0

Apps 스크립트에는 간단한 트리거와 설치 가능한 트리거라는 두 가지 유형의 트리거가 있습니다. onEdit()는 간단한 트리거의 예입니다 (이름은 암시 적 임). 그리고 간단한 트리거 내에서 할 수있는 것에는 한계가 있습니다. 여기에는 다른 스프레드 시트를 여는 것도 포함됩니다.

그래서 해결책을 찾아야합니다. 함수의 이름을 다른 것으로 변경하면 onEdit1()이라고 말하십시오. 또한 설치 가능한 트리거를 수동으로 설정하고 스프레드 시트를 편집 할 때마다 실행되도록 설정하십시오. 힌트 : 스크립트 편집기에서 리소스 -> 현재 프로젝트의 트리거 사용

+0

onEdit1()에있는 현재 셀에 액세스 할 수있는 방법이 있습니까? – initWithStyle

+0

수정 됨 : 방금 이벤트 객체를 사용하는 대신 스프레드 시트의 마지막 행을 얻었습니다. 감사! – initWithStyle

관련 문제