1

아래 코드는 제 코드이며 마지막 줄에는 "오류를 변환 할 수 없습니다"가 표시됩니다. 줄을 명확하게하려면 sheet.getRange이 오류를 발생시킵니다.배열을 범위에 할당 할 때 오류를 변환 할 수 없습니다.

모든 오류가 표시됩니다. 더 이상 아무것도, 그냥 "변환 할 수 없습니다". 또한 이것은 전체 코드이므로 다른 것은 없습니다.

function days(){ 
     var table = new Array(7); 

     for (var i = 0; i < 7 ; i ++){ 
     table[i] = i+2; 
     } 

     var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Want"); 
      sheet.getRange("B2:B9").setValues(table); 

     } 
+0

조금 더 업데이트 되었습니까? 누락 된 것이 있으면 알려주세요. – Rommel

+0

어떤 라인에서 오류가 발생했는지 알 수 있습니까? 오류를 생성/재현하기 위해 어떤 단계를 취하고 있습니까? 오류를 제거하기 위해 취한 조치는 무엇입니까? 지금까지 당신을 위해 무엇을했는지,하지 않았습니까? [ask] – Gaffi

답변

3

Google Apps Scripting에 대해 알지는 못하지만 Google에서는 this을 찾을 수있었습니다.

테이블이 2 차원 배열이어야합니다.

아마도 도움이 될까요?

var myTable = [[1, 2, 3, 4],[5, 6, 7, 8]]; 
var sheet = SpreadsheetApp.getActiveSheet(); 
sheet.getRange(1,1,2,4).setValues(myTable); 
3

SetValues()TABLE는 1 차원 어레이 그대로 ... 이것은 또한, 비록 변경 표 7 개 요소의 2D 배열 쉽게 만들 ... 일 수있다, 인수로 2 차원 배열 걸린다. 이 같은

: table[i] = [i+2];이 BTW

, 범위 ('B2 : B9')가 8 개 세포 높고 만 7 개 값을주고 ... 거기에 문제가있을 것입니다!

1

나는이 질문에 대한 문제를 파악 (코드는 위의 링크에서이다), 그래서 다른 사람들이 혜택을 누릴 수 있도록 내가 질문에 대답합니다. 여기서 문제는 Range 개체의 .setValues ​​메서드에 2 차원 배열 [] []을 지정해야한다는 것입니다. 그래서 저는 다른 차원의 내부에 0 차원 배열을 만들어서 이제는 2 차원 배열을 갖게되었습니다.

var array = new Array(7); 

for (var i = 0; i < 7; i++) { 
    array[i] = new Array(0); 
    } 
+0

내보기보다 훨씬 좋아 보인다. – Gaffi

+0

'다른 혜택을 누릴 수 있습니다'코드를있는 그대로 그대로 두거나 범위 크기를 8에서 7로 변경하는 것을 잊지 마시기 바랍니다. –

+0

범위 크기는 무엇을 의미합니까? 또한 명확히하기 위해 원본 코드의 코드를 변경해야합니다. – Rommel

관련 문제