2013-01-20 2 views
1

사용자 지정 함수를 만들려고합니다. myrange.ckeck_if_included (row, col, numrow, numcol) 입력에 지정된 범위가 myrange에 포함되어 있으면 나를 나타내는 부울을 반환합니다. . 클래스 범위에서이 함수를 만들 수 있습니까? 내 기능을 내 영역으로 연결하는 방법은 무엇입니까? 감사합니다 franko클래스 범위에 사용자 지정 함수를 만드는 방법

+0

나는 여기에 일반적인 프록시 결정 유틸리티입니다 네가하고 싶은 것을 정확히 이해하지는 못하지만 약간 다른 방식으로 가능하다고 생각한다. [Libraries] (https://developers.google.com/apps-script/guide_libraries)를보고이 정보가 도움이되는지 알려주십시오. – Jacobvdb

+0

나는 단지 클래스 ckeck_if_included (row1, col1, numrow1, numcol1, row2, col2, numrow2, numcol2)와 같은 함수를 만들 수 있다는 것을 의미한다.하지만 나는 fuction I을 만들고 싶다. 범위에 적용 할 수 있습니다. – franko

답변

0

Google 서비스의 개체/클래스를 확장 하시겠습니까? 이것은 당신은 예외가이 같은 시도하면 "개체가 속성을 추가하거나 변경할 수 없습니다"얻을 작동하지 않습니다

r=SpreadsheetApp.openById("...").getSheetByName("Sheet1").getActiveRange(); 
r.myFunction=function() { ... } 
+0

답장을 보내 주셔서 감사합니다. – franko

1

당신은 항상이 작업을 수행하기 위해 프록시 개체를 사용할 수 있습니다. 귀하의 경우에는

function proxy(obj) { 
    var x = {}; 
    Object.keys(obj).map(function(k) { x[k] = 
     function() { return obj[k].apply(obj, [].slice.call(arguments, 0)); }}) 
    return x; 
} 

당신은 당신도 프록시와 함께 최상위 객체를 대체 할 수있는 더 일반적으로

r=proxy(SpreadsheetApp.openById("...").getSheetByName("Sheet1").getActiveRange()); 
r.myFunction=function() { ... } 

등을 할 수있는 :

GmailApp = proxy(GmailApp); 
GmailApp.myFunction = ... 
+0

답변 해 주셔서 감사합니다. 조금만 공부하겠습니다. – franko

관련 문제