Google Spreadsheet에서 활성 시트가 변경될 때 스크립트를 실행하고 싶습니다.
개요
이 게시물에서는 Google Spreadsheet에서 활성 시트가 변경될 때 스크립트를 실행하는 방법에 대해 설명합니다. 2020년 4월 22일에 onSelectionChange 간단한 트리거가 추가되었습니다. 불행히도, 내 환경에서 이것은 즉시 사용할 수 없으며 셀을 선택해도 트리거가 발화하지 않는 상태가 계속되었습니다. 오늘, 이것을 확인했는데, 동작하는 것을 확인했으므로, 여기에서는 타이틀의 골을 실현하기 위한 샘플 스크립트를 소개하겠습니다.
데모

사용방법
다음과 같은 흐름에서 사용하십시오.

사용방법
다음과 같은 흐름에서 사용하십시오.
Google Spreadsheet 컨테이너—바운드 스크립트에 다음 스크립트를 복사하여 붙여넣습니다.
function onOpen(e) {
const prop = PropertiesService.getScriptProperties();
const sheetName = e.range.getSheet().getSheetName();
prop.setProperty("previousSheet", sheetName);
}
function onSelectionChange(e) {
const prop = PropertiesService.getScriptProperties();
const previousSheet = prop.getProperty("previousSheet");
const range = e.range;
const a1Notation = range.getA1Notation();
const sheetName = range.getSheet().getSheetName();
if (sheetName != previousSheet) {
range.setValue(`Changed tab from ${previousSheet} to ${sheetName}. ${a1Notation}`);
// When the tab is changed, this script is run.
} else {
range.setValue(a1Notation);
}
prop.setProperty("previousSheet", sheetName);
}
Google 스프레드시트를 한 번 닫았다가 다시 엽니다.
onOpen
가 실행되고 현재 시트 이름이 PropertiesService에 저장됩니다. onSelectionChange
의 이벤트 오브젝트에는, 시트의 이동 전후, 선택되는 셀의 전후의 정보는 포함되어 있지 않은 것 같습니다. 이에 대해서는 향후 업데이트에 기대하고 싶습니다. 이러한 정보를 얻기 위해 이 샘플에서는 PropertiesService를 사용합니다. onSelectionChange
가 실행되고 선택한 셀에 a1Notation이 입력됩니다. 또한 활성 시트를 이동하면 이를 기반으로 시트가 어디에서 어디로 이동했는지에 대한 정보가 셀에 입력됩니다. onSelectionChange
의 이벤트 트리거는 여러 곳에서 활약할 것 같습니다.참고
Reference
이 문제에 관하여(Google Spreadsheet에서 활성 시트가 변경될 때 스크립트를 실행하고 싶습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tanaike/items/faf29a6c74c5eab6a240텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)