기 타 구글 캘린더 음력 삭제법?
2015.02.18 23:46
구글 캘린더에 호작대마왕(https://cholchori.tistory.com/900 )이란 사람이 만든 파일을 이용 음력 기념일을 넣어 사용중인데, 실수로 기존에 있던 음력 기념일에 추가로 입력을 했습니다. 즉 같은게 두개... 그랬더니 한날에 같은 음력 기념일이 두개가 생겼습니다.
음력 기념일을 구글 캘린더에서 모두 삭제하는 방법이 있을까요? 구독 취소를 해도 계속 남아 있습니다.
댓글 [5]
-
메리아 2015.02.19 11:38
-
asklee 2015.02.19 15:09
고맙습니다. 메리아님께서 말씀하신대로 하니 에러가 뜨네요
-
메리아 2015.02.19 17:33
소스 문제는 아니구요,
"Jonghyup Lee"라는 캘린더가 존재하지 않는거 같네요.(
영어봐서는 대소문자가 틀리지 않았나 싶기도 하네요. 고쳐보려 했는데, 구조상 대소문자 대강 맞추기는 쉽지 않겠네요. ㅠㅠ-> 테스트 더 해보니 대소문자는 관계 없군요. 대소문자는 신경 안써도 될듯.)혹은 '소유'한 캘린더가 아니거나요.
아래 스샷에 빨간 네모칸에 해당하는 이름을 입력하셔야합니다.
저는 특정 캘린더 하나만 잔뜩 쌓이는 상황이라 별로 신경을 안썼었는데,
아래 스샷에서 빨간네모 말고는 삭제가 안되더군요.(모자이크는 기본생성된 제 이름)
남의꺼(?)인 '대한민국의 휴일'이라거나
내꺼라도 '할 일 목록'이라거나 '생일' 같은거는 안되더군요.
'할일' 말고,
스샷처럼 수동으로 일정추가하는 것이 가능한 것만 삭제가 가능하네요.
해당 이름만 골라서 다시 해보세요. ^^
저는 테스트 해보니, '제 이름'으로 된 것과 새로 추가시킨 'aaaaa'라는 캘린더만
위 코드로 삭제 가능하더군요.
-
asklee 2015.02.20 10:44
메리아님 감사합니다. 일단 제가 원하는 바는 해결했습니다. 구글 캘린더 설정에 모두 삭제하는 기능이 있더군요. 메리아님의 방법은 아니지만 아무튼 해결했습니다. 그동안 신경써 주셔서 감사드립니다.
-
자공 2021.09.08 14:23
완전 감사합니다. 삭제하니 음력 안보입니다. ^^
번호 | 제목 | 글쓴이 | 조회 | 등록일 |
---|---|---|---|---|
[공지] | 질문과 답변 게시판 이용간 유의사항 | gooddew | - | - |
54618 | 윈 도 우| 구입해놓은 Windows 8.1 시디키로 크린설치하고 싶습니다 [1] | 딜론 | 2336 | 02-28 |
54617 | 윈 도 우| 유튜브가 익스플로러와 크롬에서 차이가 나는 이유가 뭔가요? [2] | 솔모로 | 1763 | 02-28 |
54616 | 소프트웨어| 리눅스 책 추천좀 부탁드리겠습니다. [1] | 7850 | 1463 | 02-28 |
54615 | 윈 도 우| 윈도우2003 원격접속 도와주세요 [1] | 하회탈 | 1192 | 02-28 |
54614 | 하드웨어| 무선랜 질문 입니다. [6] | 마스크 | 1199 | 02-28 |
54613 | 소프트웨어| 바이로봇 관련 문의 [1] | 하회탈 | 1370 | 02-28 |
54612 | 소프트웨어| dvdrip 프로그램 어떤것을 사용하시나요 [3] | 제비날다 | 1691 | 02-28 |
54611 | 윈 도 우| 드라이브 [1] | cocoa | 1024 | 02-28 |
54610 | 윈 도 우| 인증파일 위치좀 가르쳐 주세요 [2] | 불만왕투덜이 | 1655 | 02-28 |
54609 | 하드웨어| 컴퓨터 구입은 [2] | 노선부장 | 1345 | 02-28 |
54608 | 하드웨어| (SSD, USB 구매관련) 오늘 용산 가려는데요 [3] | 윈포닉 | 1812 | 02-28 |
54607 | 윈 도 우| 하는 것도 없는데 램 사용량이 2기가를 넘어갑니다. [3] | 오리제 | 1801 | 02-28 |
54606 | 윈 도 우| msdt.exe 파일 [1] | 이거니 | 1531 | 02-27 |
54605 | 기 타| 프로그램의 문구 해석 요청 [1] | 풍경소리 | 1334 | 02-27 |
54604 | 윈 도 우| 인터넷옵션 연결탭 질문입니다. [3] | 놀숲냥이 | 1612 | 02-27 |
54603 | 윈 도 우| 윈도우 8 32비트 VS 윈도우 8 엔터프라이즈 32비트 ---- 무... [8] | 잇힝이 | 2048 | 02-27 |
54602 | 하드웨어| 왜 hd 6970가격이 r7 260x보다 더 저렴한지요? [1] | joe | 1534 | 02-27 |
54601 | 기 타| 웹사이트에서 플래시 품질을 낮추는 방법이 있을까요? [1] | 잇힝이 | 1384 | 02-27 |
54600 | 기 타| 듀얼모니터 관련해서 질문드립니다. [3] | 고복수 | 1752 | 02-27 |
54599 | 하드웨어| usb3.0에서 수신시에는 부팅시 키보드가 작동이 안됩니다 [1] | joe | 1954 | 02-27 |
제가 사이트가서 대강 보니,
일정을 직접 입력한 꼴이기에 일일이 삭제하는 수밖에는 도리가 없습니다.
단, 저같은 경우에는 양이 많을경우 따로 편법(?)을 써서 일괄삭제하는 방법을 씁니다.
제가 쓰는 코드를 올려드릴테니 잘 따라서 해보세요.
동일한 계정의 구글드라이브에 가서,
https://drive.google.com/#my-drive
스프레드시트파일을 하나 만들고,
스프레드시트 파일을 더블클릭하면, 웹 스프레드시트창이 열립니다.
거기서 도구-스크립트편집기 클릭하면 또 창이 하나 열립니다.
거기에 스크립트 편집공간에
맨 마지막의 첨부 코드를 복사해 넣습니다.
그리고 복사한 소스에서 "선택캘린더명" 을 지울 캘린더명으로 수정하고,
현재 기준은 현시점부터 지난 1년간이므로,
기준을 변경하고자하면, 아래 부분 변수를 고칩니다.
예를들어, 지난 6개월 ~ 미래 1년으로 한다면, 아래와 같이 고치면 됩니다.
var startTime= new Date();startTime.setMonth(startTime.getMonth()-6);
var endTime= new Date();endTime.setYear(endTime.getYear()+1);
다 고쳤으면 저장(Ctrl+S)하고,
스크립트 편집창 윗쪽의 툴바를 보면,
DeleteSel_Calendar, leadingZeros 둘 중 하나의 이름으로 SelectFunction 부분이 있을겁니다.(저장하지 않으면 안뜹니다.)
그걸 DeleteSel_Calendar으로 맞춘뒤에, 왼쪽의 ▶ 버튼을 눌러보세요.
그러면 처음 실행하는거면, 뭔가 인증하라는 확인창이 뜨는데, 확인(Accept)를 그냥 눌러주면 됩니다.
(구글 캘린더를 스크립트로 변형시키겠냐고 묻는 확인입니다. 최초 1회만 뜸.)
확인 누르거나, 2번째 이후의 실행이면,
바로 삭제작업이 시작됩니다.
미리 선택한 "선택캘린더명"만 골라서 삭제하므로, 원하는 '캘린더'만 지울 수 있습니다.
(석가탄신일만 지우려면 '석가탄신일'이라고만 넣으면 되겠죠. 참고로 '이벤트명'이 아닌 '캘린더명'입니다.
이벤트명과는 관계없이 특정 캘린더에 자주 지워야하는걸 몰아넣거든요. ㅋ)
삭제결과를 보고 싶으시면,
메뉴에서 보기-로그 혹은 실행 트랜스스크립트를 선택하시거나, 단축키 Ctrl+S를 누르면 로그가 뜨니까 그것을 확인하시면 됩니다.
(참고로 소스가 거의 표시용입니다. 실제 캘린더 가져오고 삭제 수행하는 부분은 얼마 안됨. ㅋㅋㅋ)
----------------------------------------------------------------------------------
// 최근 1년간의 특정 캘린더의 이벤트를 전부 삭제
function DeleteSel_Calendar() {
var selCalName = "선택캘린더명" // 이 부분을 지울 캘린더 명으로 수정할 것.
Logger.log(selCalName + "캘린더 전부 삭제");
var startTime= new Date();startTime.setYear(startTime.getYear()-1);
var endTime= new Date();
var getTime;
var output="";
output+=startTime.getYear()+"/"+leadingZeros((startTime.getMonth()+1),2)+"/"+leadingZeros(startTime.getDate(),2)+" "
+leadingZeros(startTime.getHours(),2)+":"+leadingZeros(startTime.getMinutes(),2)+":"+leadingZeros(startTime.getSeconds(),2);
output+=" ~ ";
output+=endTime.getYear()+"/"+leadingZeros((endTime.getMonth()+1),2)+"/"+leadingZeros(endTime.getDate(),2)+" "
+leadingZeros(endTime.getHours(),2)+":"+leadingZeros(endTime.getMinutes(),2)+":"+leadingZeros(endTime.getSeconds(),2);
var calEvents=CalendarApp.getOwnedCalendarsByName(selCalName)[0].getEvents(startTime, endTime);
Logger.log('범위: ' +output);
Logger.log('Number of events: ' + calEvents.length);
for(i in calEvents){
output="";
getTime=calEvents[i].getStartTime();
output+=getTime.getYear()+"/"+leadingZeros((getTime.getMonth()+1),2)+"/"+leadingZeros(getTime.getDate(),2)+" "
+leadingZeros(getTime.getHours(),2)+":"+leadingZeros(getTime.getMinutes(),2)+":"+leadingZeros(getTime.getSeconds(),2);
Logger.log("delCal:["+ output +"] "+calEvents[i].getTitle());
calEvents[i].deleteEvent();
}
}
function leadingZeros(n, digits) {
var zero = '';
n = n.toString();
if (n.length < digits) {
for (var i = 0; i < digits - n.length; i++)
zero += '0';
}
return zero + n;
}
----------------------------------------------------------------------------------