2012-09-14 4 views
3

때로는 셀 값을 변경할 때 수식이 스프레드 시트에서 자동으로 새로 고쳐지지 않고 셀에 메모가 표시되어 셀을 선택하고 Ctrl + Shift + E를 눌러 강제로 다시로드합니다. 수식Apps 스크립트를 통해 수식 새로 고침

Apps 스크립트에서이 reload 함수를 호출하고 싶습니다. Apps Script로 할 수있는 방법이 있습니까? Spreadsheet.flush()를 시도했지만 작동하지 않습니다. 도움을

감사합니다, 안부

답변

0

불행하게도 그것은 애플리케이션 스크립트를 사용하여 식의 재평가를 트리거 할 수 없습니다.

1

는 아마도이 "불가능"대답은 당신이 셀의 공식을 저장하는 경우 2012 년

는, 셀 선택을 취소 한 다음 셀의 공식을 설정하기 때문에 새로운 스프레드 시트 또는 다른 시간에 변경되었습니다, 재평가 보인다 나 잘해.

// highlight a single cell and run this function 
function myFunction() { 
    var curr_cell = SpreadsheetApp.getActiveRange(); 
    var formula = curr_cell.getFormula(); 
    // clear only the contents, not notes or comments or formatting. 
    curr_cell.clearContents(); 
    curr_cell.setFormula(formula); 
} 
+0

뭔가 나를 위해 또한 일 :

는 여기에 내가 뭘하는지의 신속하고 더러운 개요입니다 하지만 다른 셀을 활성화하고 삭제 한 다음 수식을 다시 설정하는 경우에만 가능합니다. 'var sheet = SpreadsheetApp.getActiveSheet(); sheet.getRange ("A1"). activate(); ' 그리고 현재 활성화 된 것을 다시 활성화하십시오. 내가 그걸하지 않았다면, 그 세포는 계속해서 "Loading ..." – janober

0

이이 일을 다른 공식을 설정하고 다시 되돌려 야 다시이 같은

var ss = SpreadsheetApp.getActiveSpreadsheet(); 
var sheet = ss.getSheets()[0]; 
var range = sheet.getDataRange(); 

var values = range.getValues(); 
var formulas = range.getFormulas() 

for (var i = 0; i < formulas.length; i++) { 
    for (var j = 0; j < formulas[i].length; j++) { 
     if (formulas[i][j]) { 
      var f = sheet.getRange(i + 1, j + 1).clearContent().setFormula('=true'); 
      SpreadsheetApp.flush(); 
      f.setFormula(formulas[i][j]) 
     } 
    } 
} 
관련 문제