GAS: Google 캘린더에 로그인한 스케줄을 스프레드시트에 출력하여 작업 시간 관리
개요
Google 캘린더의 특정 캘린더에서 스프레드시트가 지정된 기간 동안 다음 세 가지 정보를 가져오고 출력할 수 있습니다.
작업 단계
=SUM(H6:H)
=QUERY(B5:E,"select B, sum(E) where E is not null group by B label sum(E) '時間数(h)'",1)
사용법
권장 사용 방법
작업시간 관리 전용 달력을 제작하여 예약을 받습니다.
Google 캘린더 제작 단계
각본
var ss = SpreadsheetApp.getActiveSpreadsheet();
//操作するシートを「作業ログ取得」に指定する
var sheet = ss.getSheetByName("作業ログ取得");
//メニューバーに「GAS > 作業ログ取得」というアイテムを追加する
function onOpen() {
var ui = SpreadsheetApp.getUi();
var menu = ui.createMenu("GAS");
menu.addItem("作業ログ取得","getCalendar");
menu.addToUi();
}
function getCalendar() {
//B6:Eのコンテンツをクリアする
sheet.getRange("B6:E").clearContent();
//*****の部分に取得するカレンダーのIDを入力する
var calendar = CalendarApp.getCalendarById('*****');
//getEventsメソッドにわたす開始日時(C2)と終了日時(C3)を求める
var startTime = new Date(sheet.getRange("C2").getValue());
var endTime = new Date(sheet.getRange("C3").getValue());
var events = calendar.getEvents(startTime, endTime);
for(var i = 0; i < events.length; i++) {
//最終行の下の行にデータを追加する
sheet.appendRow(
[
"", //A列は空白
events[i].getTitle(), //B列はタイトル
events[i].getStartTime(), //C列は開始時間
events[i].getEndTime(), //D列は終了時間
"=(INDIRECT(\"RC[-1]\",FALSE)-INDIRECT(\"RC[-2]\",FALSE))* 24" //E列は時間数(h)
]
);
}
}
각주PC에서 열기구글 캘린더하고 예약한 달력 넘침 메뉴에서'설정 및 공유'를 클릭하세요.캘린더의 병합 섹션에는 캘린더 ID가 표시됩니다.↩︎
Reference
이 문제에 관하여(GAS: Google 캘린더에 로그인한 스케줄을 스프레드시트에 출력하여 작업 시간 관리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/saawaa/articles/033f054e8582e0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)