【GAS】StandaloneScripts로 스크립트를 공통화한다

목적



Container Bound Scripts로 스프레드시트에 GAS를 포함하고 있지만, 그 시트를 10 파일 정도 복제하여 사용하게 되었다.
이 경우 GAS를 변경할 때 10개 파일을 모두 변경해야 하므로
지금까지 Standalone Scripts로 기능을 이동하고 공통화해 두고 싶다.
이것이 의외로 정보가 나오지 않았기 때문에 메모해 둔다.

Standalone Scripts 만들기



Google 드라이브의 아무 곳에나 Google Apps Script 파일을 만듭니다.「右クリックメニュー」 > 「その他」 > 「Google Apps Script」
이것이 Container에 Bound하지 않는, Standalone Scripts가 된다.
스프레드 시트에서 수행 할 작업을 위의 파일에 설명하고,
각 스프레드 시트는 처리를 읽을 수 있습니다.

디폴트의 ​​「코드.gs」에 샘플로서 이하의 함수를 작성했다.
function oishiiOniku() {
  var spreadSheet = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = spreadSheet.getSheetByName("シート1");

  sheet.getRange(1, 1).setValue("おいしいお肉");
}

함수를 만들었으므로 이것을 스프레드 시트에서 가져올 준비를합니다.「メニュー」 > 「ファイル」 > 「版を管理...」


버전 관리 대화 상자에 나열된대로,
다른 스프레드시트에서 이 파일을 라이브러리로 읽으려면 버전을 정의해야 합니다.
변경 내용을 입력하고 "새 버전 저장"을 실행하면 Ver1이 정의되므로 "OK"를 누릅니다.

그런 다음 프로젝트의 속성을 표시하고 "스크립트 ID"를 삼가하십시오.「メニュー」 > 「ファイル」 > 「プロジェクトのプロパティ」

스프레드시트와 협력



스크립트를 사용하는 쪽 스프레드시트를 시작하고,
스프레드시트에서 스크립트 편집기를 표시합니다.
그런 다음 스크립트 편집기에서 라이브러리 대화 상자를 표시합니다.「メニュー」 > 「リソース」 > 「ライブラリ...」
「라이브러리 추가」의 장소에 방금 앞둔 스크립트 ID를 입력해 「추가」를 누릅니다.


"버전"은 버전을 관리에서 정의한 버전에 맞출 필요가 있다.
이번이라면 Ver1로 한다. 당연히 최신의 Ver 이외를 지정할 수도 있다.
또, 「식별자」는 스크립트를 읽을 때에 코드에 기술하기 때문에,
알기 쉽게 편집해 두면 좋다.

oishiiOniku 실행



그리고는 통상대로 스프레드 시드의 스크립트로서 oishiiOniku를 읽어내는 처리를 쓰면 좋다.
function myFunction() {
  Sample.oishiiOniku();
}

「식별자.함수명」이라고 써 실행하는 것만으로, 무사 처리가 실행되었다.


보충



스크립트 버전을 업데이트하면 결국 모든 시트에서
버젼을 맞추러 갈 필요가 있는 것은… 라고 생각했지만,
최신 버젼이 정의되었을 경우는 자동으로 추종하고 있는 것 같았다. (상세 미확인)

참고로 한 정보



하나의 GAS를 여러 스프레드시트에서 사용하는 방법(Google Apps Script)

좋은 웹페이지 즐겨찾기