본문 바로가기
Engineering

[Google Spreadsheet] 매일 자동으로 업데이트 하기

by SPICA910 2022. 12. 28.
반응형

구글 스프레드시트는 무료 엑셀 기능을 가진 강력한 툴입니다. 

특히 구글에서 지원하는 googlefinance 기능은 매력적이더군요. ^^

 

그래서 웹 스크래핑을 스프레드시트를 통해서 간단하게 수집할수 있어서 좋았습니다. 

다만 한가지 불편한 점은 데이터를 가져오는 시간이 꽤나 걸린다는 점입니다. 

따라서 하루에 한번씩 자동으로 업데이트가 된다면, 파일을 열자마자 값이 있을것이므로 

오늘은 자동으로 업데이트를 하도록 설정해보겠습니다. 

 

 

1. 업데이트 할 스프레드시트를 만들거나 불러옵니다. 

2. 문서를 열었다면 [확장 프로그램] -> [Apps Script]를 실행합니다. 

3. 파일 옆에 있는 [+] 표를 눌러 스크립트를 선택합니다. 

4. 스크립트의 이름을 입력하여 파일을 생성하고, 옆에 아래의 내용을 입력해 줍니다.

      * 아래 코드에서 "result"은 spreadsheet의 sheet 이름을 입력해주어야 합니다. 

function myFunction() {
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("result"); #result tab 접근
  var range = spreadsheet.getRange('B1');    # B1에 셀을 지정
  range.clearContent();                      # B1 쎌의 내용 삭제
  SpreadsheetApp.flush();
  range.setFormula('now()')                  # B1 쎌에 =now() 입력
  Utilities.sleep(10000);                    # 10초 대기
}

      - 위의 내용은 result라는 tab에서 B1에 위치한 내용을 지우고, =now()라고 입력하고, 10초 기다리라는 의미 입니다.

        자신이 만든 시트에 맞게 수정하시고 #부터는 지워서 사용하세요.

 

5. 코드를 다 넣었다면 저장을 하고, 실행을 눌러주세요.

 

 

 

6. 실행을 하면 권한 검토 및 계정에 권한을 주는 작업을 해야합니다. 누르는게 조금 많습니다. 

권한 검토를 클릭해주세요.

 

자신의 계정을 선택하세요.

 

고급을 누르세요.

 

"제목 없는 프로젝트로 이동" 을 누르세요.

 

마지막으로 '허용'을 누르세요

7. 코드에 문제가 없다면 바로 실행이 완료될 것입니다. 

8. 이제는 한시간에 한번씩 자동으로 수행할수 있도록 트리거를 만들어줍니다. 

9. 트리거의 설정은 아래와 같이 해줍니다. 중요한것은 "이벤트 소스 선택 - 시간기반"입니다. 

 

10. 완료가 되었다면 저장을 누르면 됩니다 .

 

 

반복해보면서 조금더 쉬운 방법이 있다면 꼭 업데이트 하겠습니다. 

 

반응형

댓글