입문 GoogleAppsScript 취업 일정을 누출없이 캘린더에 반영하고 싶다 (후반)

⚠이 기사에는 전반부가 있습니다.



전반을 아직 읽지 않은 분으로부터 하면, 목표 성과물도 보이지 않고 난노콧차라고 생각하므로, 그런 분은 여기 로부터 전회의 기사를 봐 주세요

GoogleAppsScript를 시작하는 방법



전제조건: Google 계정이 있음



Google 계정이 없으면 GAS를 사용할 수 없습니다! Google 서비스이기 때문에.
아직 계정이 없는 분은 여기

GAS에 액세스



htps : // sc pt. 오, ぇ. 코 m / 칭찬 에 액세스하는 것만으로◎

이 화면이 나오면 괜찮습니다.

프로그램 짜다



GAS에 액세스할 수 있어도 실행하는 내용이 없는 것은 의미가 없기 때문에, 우선은 시험에 간단한 코드를 짜 봅시다

날짜를 표시하는 프로그램 구성

코드 .gs 내용에 다음을 복사

date.js
function date() {
  const today = new Date();
  // Date()の()の中身を変えることで日付は変更可能。デフォルトで今日の日付です
  console.log(today);
  // console.log()でカッコ内がどう表示されているのかをテストすることができます
};

GAS를 사용하여 캘린더 조작



기억해야 할 항목



CalendarApp: 클래스



Google 캘린더를 조작하는 데 절대적으로 필요합니다.

getDefaultCalendar(): 메소드



자신이 사용하는 캘린더를 정의할 때 사용합니다.
스스로 사용한다면 대체로 먼저 사용한다.

createEvent(title,startTime,endTime): 메소드



캘린더에 일정을 세울 때 사용합니다.
()의 내용 항목을 직접 캘린더에 반영시킬 수 있다.

실제로 사용해보기



useCalendar.js
function useCalendar(){

  const calendar = CalendarApp.getDefaultCalendar()
  calendar.createEvent("テストだよ", new Date("2021/10/01 10:00:00"), new Date("2021/10/01 12:00:00"));

};

이제 GAS를 사용하여 캘린더에 입력할 수는 있지만, 굉장히 귀찮아요.
실은 createEvent(title,startTime,endTime)는 수학의 대입과 같은 것이 가능합니다.

중첩을 사용해보기



이미지는 수학의 대입과 완전히 함께! X+Y라는 식이 있고, X에 2, Y에 3 넣어 봅시다. 같은 사용법을 할 수 있습니다. 편리하네요!

useCalendar.js
function useCal2(){
  //書き出しは同じ
  const calendar = CalendarApp.getDefaultCalendar();
  //最初に数学の方程式で言うX,Yを定義する
  const title = "テストだよ";
  const startTime = new Date("2021/10/01");
  const endTime = new Date("2021/10/01");

  calendar.createEvent(title,startTime,endTime);
  // こっちのほうがスマートで見やすいですよね!
};

SpreadSheet와의 협력



스프레드시트와 연계하기 위해서는 방금 배운 calendarApp 클래스가 아니라 SpreadsheetApp 클래스를 사용한다. 배우는 것보다 익숙한 코드를 살펴 보겠습니다.

sheetToCal.js
function sheetToCal(){
  const calendar = CalendarApp.getDefaultCalendar();
  //---カレンダーはいつもどおりだが
  //---スプレッドシートはアプリが違うので…
  const spreadsheetId = ``;
  const spreadsheet = SpreadsheetApp.openById(spreadsheetId);
  //---SpreadSheetAppというクラスを用いる
  //---<キー>の部分はスプレッドシートのURLの/d/xxxxxxxxxxx/editのxxxxxxxxxxの部分が当てはまる
  const sheetName = ``;
  const sheet = spreadsheet.getSheetByName(sheetName);
  const range = sheet.getDataRange();
  const values = range.getValues();
  //---スプレッドシートはどれか、つかうシートはどれか、見る範囲はどれかを選択

  //---試しにvaluesが同表示されるのか見てみよう
  console.log(values);
  //---これでスプレッドシートが連携できたのがわかる
}

스프레드 시트와의 연계는 이상.
SpreadsheetApp 클래스를 사용하여 스프레드시트와 그 안의 시트, 그리고 사용하는 데이터의 범위를 정의할 필요가 있습니다.

스프레드시트 데이터를 중첩



앞의 코드에서는 결과 아래와 같은 것이 보였다고 생각합니다.

노란색 테두리로 둘러싸인 것이 하나의 데이터 세트입니다.
이 데이터세트를 각각 정의하려면 for(const...of...){} 식을 사용합니다.

sheetToCal.js
 for(const record of values){
  //---forはその中身を繰り返す指示をする
  //---const A of 配列 で A に対応する 配列の中身 を繋げることができる

    const status = record[0]
      //status = record[0](スプレッドシートのA列)
    const title = ("【就活】"+record[1]+record[2]);
      //status = record[0](スプレッドシートのB列+C列)
    const time = new Date(record[4]);
    const delta = new Date(record[5]);
    const startTime = new Date(record[3]);
      startTime.setHours(time.getHours());
      startTime.setMinutes(time.getMinutes());
    const endTime = new Date(startTime);
      endTime.setHours(endTime.getHours() + delta.getHours());
      endTime.setMinutes(endTime.getMinutes() + delta.getMinutes());
    const option = {
      location: record[6]
    };
  }
  calendar.createEvent(title,startTime,endTime,option)

이렇게 함으로써, 손으로 매회 이치에서 기재하는 것 이상으로 간단하게 캘린더를 기재할 수 있는 구조가 생겼어요.

트리거 설정



트리거란, 「언제 프로그램을 실행할까」라는 계기를 가리킵니다.
이것이 없으면 아무리 좋은 코드 써도 사용할 수 없으니까요!
먼저 이미지와 같이 편집을 눌러 현재 프로젝트의 트리거를 선택합니다.


그러면 다음과 같은 화면으로 전환합니다.


그런 다음 오른쪽 하단의 트리거 추가를 클릭하십시오.
아래 이미지를 참고로 저장.


이것으로 트리거 설정이 완료됩니다!

끝에



어땠어? 프로그래밍은 사실 그렇게 어려운 것이 아니라 일상 생활을 풍부하고 간단하게 해주는 것입니다.

엔지니어에게 가장 중요한 일은 조사하는 것입니다. 모르는 것을 조사하는 것은 「누구라도 할 수 있다」하지만 대부분의 사람이 하고 있지 않는 것. 그래서 거기에 가치가 나옵니다.

거기에서 조금씩 스텝 업하는 것으로 모르는 것이 줄어들고, 자신의 스킬이라는 것을 연마하게 됩니다.
조금이라도 엔지니어직이나 IT에 흥미를 가져 주시면 감사하겠습니다.
다음

좋은 웹페이지 즐겨찾기