【GAS】어디의 탭이야・・・라고 찾는 귀찮은 사람을 위한 스크립트

6151 단어 GoogleAppsScript

해결책


  • 탭 이름과 URL 목록 만들기
  • 탭 이름을 치면 URL을 생성하는 자체 함수를 사용합니다.

    배경



    테스트 항목서나 화면 사양서를 Spreadsheet로 관리하면 탭이 엄청나게 늘어난다.
    그리고

    어, , , 테스트 #102는 어디야
    C17 화면의 사양은・・・.

    라든지, Spreadsheet 스크롤 지옥이 기다리고 있다.
    그 지옥을 아는 사람은, 一覧 적인 탭을 작성해, URL을 손으로 붙이고 있을지도 모른다.
    그것은, 그래서, 지옥이다. (경험자입니다)

    1. 탭 이름과 URL 목록 만들기



    완성형



    특정 탭에, 시트를 열 때마다 목차를 갱신해 주는 녀석을 만들자.


    스크립트


    function onOpen(){
      // ブックを取得
      const book = SpreadsheetApp.getActive()
      // スプレッドシートキーを取得
      const ss_key = book.getId()
      // ブックに紐づくすべてのタブを取得
      const sheets = book.getSheets()
      // 吐き出し用のタブを取得
      const sheet_index = book.getSheetByName('index')
      // ここにタブ名, URLをためていきます。
      var values = []
    
      for(var i = 0; i < sheets.length; ++i){
        var name = sheets[i].getSheetName()
        var url = 'https://docs.google.com/spreadsheets/d/' + ss_key + '/edit#gid=' + sheets[i].getSheetId()
        values.push([name, url])
      }
    
      // 削除にも対応するため、一度clear
      sheet_index.clear()
      // 出力
      sheet_index.getRange(1,1,values.length, values[0].length).setValues(values)
    }
    

    이것으로 매번 만들어 놓고 index-match하여 특정 탭의 URL만 끌어당기는 손도 있다.

    2. 탭명을 치면 URL을 생성하는 독자 함수를 사용한다



    완성형





    스크립트


    function get_ss_url(sheet_name) {
      // ブックを取得
      const book = SpreadsheetApp.getActive()
      // Spreadsheetキーを取得
      const ss_key = book.getId()
      // 該当シートを取得
      const sheet = book.getSheetByName(sheet_name)
    
      return 'https://docs.google.com/spreadsheets/d/' + ss_key + '/edit#gid=' + sheet.getSheetId()
    }
    
  • 좋은 웹페이지 즐겨찾기