본문 바로가기
구글 스프레드시트/구글 스프레드시트 스터디

얼럿창 띄우기(경고 문구 띄우기) - 스프레드시트(구글 엑셀)

by davi_kr 2023. 9. 29.

목차

    반응형

    사용 목적과 예시

    사용자가 의도와 다르게 사용하는 것을 방지하기 위해 시트 보호를 사용할 수도 있으나 
    그럴 경우, 왜 막히는지를 몰라서 발생하는 문제가 있을 수 있습니다.
    이럴 경우를 대비해 특정 상황에서 작동하는 얼럿창을 만들어주는 방법을 알고 있으면 좋겠습니다.

    기본 사용법

    1. 확장 프로그램 > Apps Script 클릭

    2. 아래와 같이 코드 작성 후 실행 클릭

    function myFunction() {
      const ui = SpreadsheetApp.getUi()
      ui.alert('hi')
    }

    3. 끝입니다. ui.alert 안에 hi라고 적었더니 hi가 출력됩니다. 

     

    활용

    특정 시트에서만 제작 함수를 사용하고 싶을 때

    function myFunction() {
      const ui = SpreadsheetApp.getUi()
      const spreadsheet = SpreadsheetApp.getActive();
      const sheet_name = "카테고리2"
    
      if (spreadsheet.getSheetName()!==sheet_name){
        ui.alert(`⚠️ ${sheet_name} 시트에서만 작동합니다!! ⚠️`)
        Logger.log('시트가 달라서 ㅎ')
        return
      }
    }

    이렇게 코드를 작성하고 실행을 누르면 처음 이 코드를 실행하는 경우에 아래와 같은 권한 검토 창이 뜹니다.
    이미지로 붙여둔 것처럼 본인 이메일 선택 > 고급 설정 보기 > 제목 없는 프로젝트로 이동 > 허용 클릭하면 함수가 작동합니다.

    시트에 가보면 카테고리2 시트에서만 작동한다고 얼럿이 떴습니다. 그 이유는 시트의 이름이 시트1이기 때문입니다. 시트1의 이름을 카테고리2로 바꾸면 얼럿이 뜨지 않는 걸 확인할 수 있습니다. 

    만약 제한을 걸 시트의 이름이 다르다면, const sheet_name = "카테고리2"에서 카테고리2만 다른 단어로 바꿔주면 됩니다.

    반응형

    댓글