입문 Google AppsScript 취업 일정을 누출없이 캘린더에 반영하고 싶다 (전반)
11212 단어 취업Google 캘린더초보자GoogleAppsScript입문
취활한 어떤 말하고 싶다
대학생에게 갑자기 나타나는 큰 벽. 이렇게 일정 관리.
지금 바로 취활생의 지원을 하고 있는 것도 있습니다만, 피부감 1할 정도가 스케줄 미스로 전형봉에 흔들리는군요…
새로 수첩을 사기 쉬운
・형태로부터! 그리고 의지하고 좋은 수첩 구입
·하지만 그다지 활용할 수 없다.
・메모장으로 좋았던 것은… 그리고 나서 깨닫는다.
일정이 너무 많아 수첩에 일정이 끊어지지 않습니다.
・면담 장소, 시간, 소지품을 쓸 수 없다
· 이미 좋기 때문에 나중에 쓰는 것처럼 영원히 쓸 수 없습니다.
인터뷰 장소 실수
·있는 것은 별로 아니지만 있습니다.
・설명회나 1차 전형은 본사이거나 그렇지 않다
・최악의 경우, 장소 잘못해 제일 지망의 기업의 전형에 늦는 것도…
즉 취활하고 스케줄 관리가 생명줄이지만 엄청 귀찮아요.
그래서 이번에는 절대로 스케줄 관리를 실수하지 않는 최강의 스케줄러를 GoogleAppScript를 사용해 구현해 나갈 것입니다.
이번 성과물의 이미지
1. 기입용 스프레드시트
다운로드는 여기
※표시된 스프레드시트를 반드시 복사하여 사용해 주세요
2. 표시되는 캘린더 화면
・스프레드시트에 기재된 것이 자동적으로 반영되도록 되어 있습니다
・전형 전의 예정이 기재되어, 전형 결과 기다리고, 종료 상황의 것은 캘린더에의 반영이 되지 않게 되어 있습니다
GAS(Google Apps Script)란?
・기본적으로는 JavaScript에 준거해 코드를 써 나가는 것이 가능
・Google의 각종 어플리와 제휴를 할 수 있어 여러가지 라이프 해킹이 가능하게
・익숙해지면 영업직이나 문계를 변명하지 않고 사용할 수 있다
・(프런트 엔드만의) HP 제작 등, 프로그래밍? 배울 정도라면 GAS를 추천합니다.
완제품
ss2cal.jsfunction ss2cal() {
const calendar = CalendarApp.getDefaultCalendar();
const spreadSheetId = ''
const spreadSheet = SpreadsheetApp.openById(spreadSheetId);
const sheet = spreadSheet.getSheetByName('Master');
const lastRow = sheet.getLastRow();
//---ここまででカレンダーとスプレッドシートの定義は完了---
//---以下では重複を防ぐために既にタイトルに【就活】と記載のあるイベントを削除する
const today = new Date();
const schedules = calendar.getEvents(today, new Date(today.getFullYear(), today.getMonth(), today.getDate() + 90));
for (var i = 0; i < schedules.length; i++) {
const eventName = schedules[i].getTitle();
if (eventName.indexOf("【就活】") != -1) {
schedules[i].deleteEvent();
//---indexOf()文字列の検索が可能。今回はタイトルに【就活】と付くものを探して自動で削除している
};
};
for (var i = 2; i <= lastRow; i++) {
const status = sheet.getRange(i, 1).getValue();
const title = '【就活】' + sheet.getRange(i, 2).getValue() + sheet.getRange(i, 3).getValue();
const time = new Date(sheet.getRange(i, 5).getValue());
const delta = new Date(sheet.getRange(i, 6).getValue());
const startTime = new Date(sheet.getRange(i, 4).getValue())
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: sheet.getRange(i, 7).getValue()
};
if (status == "選考前") {
calendar.createEvent(title, startTime, endTime, option);
}
};
};
프로그래밍 흥미는 없지만 스케줄 관리 조심하고 싶다고 사람은 여기까지도 상당히.
구조까지 궁금해! 라는 사람은 여기
Reference
이 문제에 관하여(입문 Google AppsScript 취업 일정을 누출없이 캘린더에 반영하고 싶다 (전반)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hinoBoku/items/3bf26871633dd8f463ef
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
1. 기입용 스프레드시트
다운로드는 여기
※표시된 스프레드시트를 반드시 복사하여 사용해 주세요
2. 표시되는 캘린더 화면
・스프레드시트에 기재된 것이 자동적으로 반영되도록 되어 있습니다
・전형 전의 예정이 기재되어, 전형 결과 기다리고, 종료 상황의 것은 캘린더에의 반영이 되지 않게 되어 있습니다
GAS(Google Apps Script)란?
・기본적으로는 JavaScript에 준거해 코드를 써 나가는 것이 가능
・Google의 각종 어플리와 제휴를 할 수 있어 여러가지 라이프 해킹이 가능하게
・익숙해지면 영업직이나 문계를 변명하지 않고 사용할 수 있다
・(프런트 엔드만의) HP 제작 등, 프로그래밍? 배울 정도라면 GAS를 추천합니다.
완제품
ss2cal.jsfunction ss2cal() {
const calendar = CalendarApp.getDefaultCalendar();
const spreadSheetId = ''
const spreadSheet = SpreadsheetApp.openById(spreadSheetId);
const sheet = spreadSheet.getSheetByName('Master');
const lastRow = sheet.getLastRow();
//---ここまででカレンダーとスプレッドシートの定義は完了---
//---以下では重複を防ぐために既にタイトルに【就活】と記載のあるイベントを削除する
const today = new Date();
const schedules = calendar.getEvents(today, new Date(today.getFullYear(), today.getMonth(), today.getDate() + 90));
for (var i = 0; i < schedules.length; i++) {
const eventName = schedules[i].getTitle();
if (eventName.indexOf("【就活】") != -1) {
schedules[i].deleteEvent();
//---indexOf()文字列の検索が可能。今回はタイトルに【就活】と付くものを探して自動で削除している
};
};
for (var i = 2; i <= lastRow; i++) {
const status = sheet.getRange(i, 1).getValue();
const title = '【就活】' + sheet.getRange(i, 2).getValue() + sheet.getRange(i, 3).getValue();
const time = new Date(sheet.getRange(i, 5).getValue());
const delta = new Date(sheet.getRange(i, 6).getValue());
const startTime = new Date(sheet.getRange(i, 4).getValue())
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: sheet.getRange(i, 7).getValue()
};
if (status == "選考前") {
calendar.createEvent(title, startTime, endTime, option);
}
};
};
프로그래밍 흥미는 없지만 스케줄 관리 조심하고 싶다고 사람은 여기까지도 상당히.
구조까지 궁금해! 라는 사람은 여기
Reference
이 문제에 관하여(입문 Google AppsScript 취업 일정을 누출없이 캘린더에 반영하고 싶다 (전반)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hinoBoku/items/3bf26871633dd8f463ef
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
ss2cal.js
function ss2cal() {
const calendar = CalendarApp.getDefaultCalendar();
const spreadSheetId = ''
const spreadSheet = SpreadsheetApp.openById(spreadSheetId);
const sheet = spreadSheet.getSheetByName('Master');
const lastRow = sheet.getLastRow();
//---ここまででカレンダーとスプレッドシートの定義は完了---
//---以下では重複を防ぐために既にタイトルに【就活】と記載のあるイベントを削除する
const today = new Date();
const schedules = calendar.getEvents(today, new Date(today.getFullYear(), today.getMonth(), today.getDate() + 90));
for (var i = 0; i < schedules.length; i++) {
const eventName = schedules[i].getTitle();
if (eventName.indexOf("【就活】") != -1) {
schedules[i].deleteEvent();
//---indexOf()文字列の検索が可能。今回はタイトルに【就活】と付くものを探して自動で削除している
};
};
for (var i = 2; i <= lastRow; i++) {
const status = sheet.getRange(i, 1).getValue();
const title = '【就活】' + sheet.getRange(i, 2).getValue() + sheet.getRange(i, 3).getValue();
const time = new Date(sheet.getRange(i, 5).getValue());
const delta = new Date(sheet.getRange(i, 6).getValue());
const startTime = new Date(sheet.getRange(i, 4).getValue())
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: sheet.getRange(i, 7).getValue()
};
if (status == "選考前") {
calendar.createEvent(title, startTime, endTime, option);
}
};
};
프로그래밍 흥미는 없지만 스케줄 관리 조심하고 싶다고 사람은 여기까지도 상당히.
구조까지 궁금해! 라는 사람은 여기
Reference
이 문제에 관하여(입문 Google AppsScript 취업 일정을 누출없이 캘린더에 반영하고 싶다 (전반)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hinoBoku/items/3bf26871633dd8f463ef텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)