2013-02-01 2 views
0

사람이 이전 UI 앱은 웹 응용 프로그램?오류가 발생했습니다 :

Error encountered: Cannot find method (class)getRange((class),number,number,number). 

I로 게시 실행이 오류 건너했습니다 getRange ((클래스), 숫자, 번호, 번호) 방법 (클래스)를 찾을 수 없습니다 검색 어구를 찾았고 검색 결과가 전혀 나오지 않았습니다.

웹 응용 프로그램이 doGet()에서 정상적으로로드되며 작은 서버 처리기가 작동 한 후에 오류가 발생합니다. 문제는 핸들러 함수가 시정 기능을 오프로 전환 할 때마다 내 모든 "처리"레이블을 잘 처리하고 처리기를 실행하는 것입니다. 호출중인 스프레드 시트는 아무 문제없이 업데이트됩니다. 내 코드를 검사하고 내 getRanges의 형식이 모두 sheet.getRange(row,col,num,num)이어야합니다.

GAS는 어제 한 번 이상한 행동을 보였습니다. 어제는 Ctrl-F 찾기 기능을 업데이트 한 것으로 보이지만 그 페이지는 간단하게 새로 고쳐졌습니다. 오늘의 새로운 오류 이후에 새로 고쳐 왔지만 핸들러를 실행 한 후에도 계속 나타납니다. 다른 사람이 실행하거나 해결책이 있습니까?


글쎄, 나는 다른 스크립트에 코드를 붙여, 나는 호출하고 스프레드 시트의 사본을했다,하지만 난 여전히 오류가 복사했습니다. 여기에 구글의 오류 트리거에 따라 "잘못된"코드입니다 : 내가 위에서 말했듯이

function addNewCo(e) { 
    var app=UiApp.getActiveApplication(); 
    var newCoName=e.parameter.newCoName; 
    coSheet.appendRow([newCoName]); 
    coSheet.sort(1,true); 
    var coSheetValues=coSheet.getRange(2,1,coSheet.getLastRow()-1,coSheet.getLastColumn()).getValues(); 
    app.getElementById('coNameLB').clear().addItem(newCoName).addItem('').addItem('Select Company ---'); 
    for (i=0;i<coSheetValues.length;i++){ app.getElementById('coNameLB').addItem(coSheetValues[i][coSheetColNamesArray.indexOf('Company Name')]); } 
    app.getElementById('popupPanel').setVisible(false); 
    app.getElementById('GoBtn').setStyleAttribute('background','#2a9c3b').setEnabled(true); 
    app.getElementById('processingLbl').setVisible(false); 
    return app; 
} 

는, 핸들러가이 함수의 완료는, 왜이 오류가 날 진열 할 것인가?


이것은 실제로 바보가되고 있습니다. 추가 및 정렬 후에 시트에 대한 참조를 제거 했으므로 핸들러 함수에서 getRange를 모두 가져 왔지만 오류는 여전히 계속 나타납니다!

function addNewCo(e) { 
    var app=UiApp.getActiveApplication(); 
    var newCoName=e.parameter.newCoName; 
    coSheet.appendRow([newCoName]); 
    coSheet.sort(1,true); 
    app.getElementById('coNameLB').clear().addItem(newCoName).addItem('').addItem('Select Company ---'); 
    app.getElementById('popupPanel').setVisible(false); 
    app.getElementById('GoBtn').setStyleAttribute('background','#2a9c3b').setEnabled(true); 
    app.getElementById('processingLbl').setVisible(false); 
    return app; 
} 

getRange도 호출하지 않으므로 오류가 어떻게 계속 표시 될 수 있습니까?


믿을 수 없습니다. 이제 처리기에서 스프레드 시트에 대한 언급을 꺼내었고 오류가 발생합니다. 도대체 Google은 무엇입니까?!? doGet() 기능로드 미세 오류는 처리기를 사용하여 제공 - 스프레드 시트에 대한 언급이없는 경우에도 - 어떻게 세계 :

function addNewCo(e) { 
    var app=UiApp.getActiveApplication(); 
    var newCoName=e.parameter.newCoName; 
    app.getElementById('coNameLB').clear().addItem(newCoName).addItem('').addItem('Select Company ---'); 
    app.getElementById('popupPanel').setVisible(false); 
    app.getElementById('GoBtn').setStyleAttribute('background','#2a9c3b').setEnabled(true); 
    app.getElementById('processingLbl').setVisible(false); 
    return app; 
} 

나는 핸들러 함수를 제거했다?!? 그냥 팝업을 닫고 나는 여전히 오류가 발생합니다.

function addNewCo(e) { 
    var app=UiApp.getActiveApplication(); 
    app.getElementById('popupPanel').setVisible(false); 
    return app; 
} 

누구든지 Google에서 도움을 받습니까?

+0

나는이 오류를 몇 시간 전에 저장된 버전에서 얻고 있습니다. – user1783229

답변

3

수정 됨. 필자는 필드 필드 배열의 일부로 텍스트 상자를 가져야 만 다른 필드를 가져 오지 않아야했습니다. 당신이 어딘가에 당신의 비밀스러운 오류와 그 의미를 나열하고 문제점이 어디에 있는지 알려주는 오류 메시지 대화 상자 팝업에 줄 번호가 나타나면 우리는 수백 줄의 것을 훑어보아야 할 필요가 없다는 점에서 매우 도움이 될 것입니다. 암호. 그것은 구글 애플 리케이션 스크립트에서 오류 메시지에 대한 Google 검색 결과를 반환 우스꽝 스럽네요. 2 시간을 낭비했다.

관련 문제