나는 기본 윤곽, 조언 및 도움이 될만한 자료를 제공해 드리지만 모든 것을 쓸 수는 없다고 생각합니다.
1 단계 - 사용자 지정 메뉴 옵션 스프레드 시트에서 당신에게 스크립트를 액세스 할 수 있도록 할 것입니다
을 만듭니다. 사용자 정의 메뉴 옵션을 작성하여이를 수행 할 수 있습니다. article by google on custom menus이 있습니다.
Google에서 간단한 트리거 onOpen
을 사용하지만 installable triggers이 더 안정적이라는 것을 알았습니다.
2 단계 - 가져 오기 사용자 입력이
는 직원의 ID를 입력하라는 메시지가 좋을 그것은 마법의 스크립트 작업을 할 것입니다. 다음은 스크립트에 대한 사용자 입력을받는 방법을 설명하는 article by google on dialogs and sidebars입니다.
3 단계 - 읽고 당신은 SpreadsheetApp
와 spreadsheeet 데이터에 액세스 할 수 있습니다
스프레드 시트에서 데이터를 작성합니다. 맞춤 메뉴에서 스크립트를 호출 할 때 SpreadsheetApp.getActiveSpreadsheet
을 사용할 수 있습니다. 그러나 스크립트 편집기에서 코드를 테스트하려면 "활성 스프레드 시트"가 없으므로 대신 SpreadsheetApp.openById
을 사용하십시오.
스프레드 시트에 액세스 할 수있는
, 당신은 호출 할 수 있습니다 : 2 차원 배열
경고와 setValues
작업
spreadsheet.getSheetByName("name").getRange(1, 1, 2, 2).getValues();
spreadsheet.getSheetByName("name").getRange(1, 1, 2, 2).setValues([[1, 2], [3, 4]]);
주 getValues
있고 - 보통 바와 같이, I/O가 많이 걸립니다 처리 시간이 필요하므로 불필요하게 getRange().XetValues
을 호출하는 것을 피하십시오.이 google article about appscript best practices이 더 자세히 설명됩니다. 또한 출석 시트가 많으면 응축 시트를 하나로 응축하는 것이 좋습니다.
4 단계 - 적절한 시트 가져
당신은 출석 시트있는 스프레드 시트의 시트 구별 할 어떻게든지해야합니다 :
function isAttendanceSheet(sheet) {
return /Magical regex/.test(sheet.getName);
}
var sheets = spreadsheet.getSheets().filter(isAttendanceSheet);
당신을 위해 작동 마법의 정규식 짜요 , 그러면 필터가 걸립니다.
희망이 있으면 도움이되고 행운을 빕니다.
사용자 지정 함수를 작성해야 할 것입니다. 총 데이터 양이 사용 가능한 램에 들어가기에 충분히 작은 경우 모든 정보를 자바 스크립트 객체/배열로 읽어 들일 수 있으며 올바른 형식으로 통합 시트에 쓸 수 있습니다. – SpiderPig
@SpiderPig 맞춤 시트 기능은 'SpreadsheetApp' 서비스와 같이 익명 사용자로 실행될 때 인증이 필요한 서비스를 이용할 수 없습니다. 자세한 내용은 다음을 참조하십시오. https://developers.google.com/apps-script/guides/services/authorization –