단 20줄의 코드로 스프레드시트를 복사하는 메뉴 추가
완성도
소개
스프레드시트를 정례 회의록으로 사용할 수 있을까 생각합니다.
(스프레드시트 앱의 사용법이 아니다!라는 점은, 이번 많게 봐 주세요><)
그 때에 템프레 시트를 카피해, 오늘의 일자로 해…라고, 매회 반복하고 있다고 수고에 느끼는 일도 많을 것입니다.
메뉴에 템플릿 복사 버튼을 제공하고 오늘 날짜의 시트를 쉽게 복사할 수 있는 기능을 Google Apps Script에서 20행으로 구현합니다.
스프레드시트 준비
GoogleDrive에서 새 스프레드시트를 만듭니다.
혹은 기존의 것도 상관없습니다.
「템플렛」이라고 하는 시트를 준비해, 적당하게 문자를 박습니다.
그런 다음 메뉴의 도구 → 스크립트 편집기를 엽니다.
즐겁게 아래 코드를 붙여넣고 저장합니다.
코드
function onOpen() {
SpreadsheetApp.getActiveSpreadsheet().addMenu('テンプレート', [{name: 'シートのコピーを作成', functionName: 'copySheet'}]);
}
function copySheet() {
var templateFileName = "テンプレ";
var today = Utilities.formatDate(new Date(), 'Asia/Tokyo', 'yyyy-MM-dd');
var spreadSheet = SpreadsheetApp.getActiveSpreadsheet();
var templateSheet = spreadSheet.getSheetByName(templateFileName);
var distSheet = spreadSheet.getSheetByName(today);
if (!templateSheet) { // テンプレシートの名前が変えられたり削除された場合のエラー
Browser.msgBox(templateFileName + "という名前のシートがありません。");
} else if (distSheet) { // 既にファイル生成済み
Browser.msgBox("既に今日の日付のシートが存在するため、コピーできません。");
} else { // 新シート追加
distSheet = templateSheet.copyTo(spreadSheet).setName(today);
spreadSheet.setActiveSheet(distSheet);
}
}
권한 대화 상자 승인
스프레드시트에 액세스할 수 있는 권한을 승인해야 합니다.
기능 선택 메뉴에서 onOpen을 선택하고 두 개의 왼쪽 삼각형을 눌러 실행할 수 있습니다.
처음에는 승인 대화 상자가 나오므로,
Google 계정 선택 화면에서 내 계정을 선택한 후 아래와 같은 창이 나오면
상세→xxxxx(안전하지 않은 페이지)로 이동→텍스트 박스에 「다음」이라고 입력→허가로 허가됩니다.
※ 자기 책임으로 부탁드립니다.
최종 확인
스프레드시트를 다시 로드합니다.
메뉴 가장 오른쪽에 "템플릿"이라는 메뉴가 추가되어 있으므로 선택합니다.
안전하게 오늘 날짜로 시트가 복사되어야합니다.
덧붙여서 실수로 템플리 시트를 지우거나 이름 변경해 버렸을 경우에 다이얼로그를 내거나, 이미 오늘 분의 시트가 있는 경우에 다이얼로그를 내는 처리도 실장되고 있습니다.
덧붙여서 템플리 이외에 다른 시트 이상 있는 경우는 템플리 시트를 숨기는 것도 가능합니다. 그러면 매일 템플리 시트가 시트 일람에 나오지 않기 때문에 깨끗이합니다.
우리 팀에서 일하지 않겠습니까?
에이팀 은 인터넷을 이용한 다양한 기술을 구사해, 폭넓은 비즈니스의 영역에 계속 도전하는 나고야의 종합 IT 기업입니다.
그 그룹 회사인 주식회사 에이팀 브라이즈에서는, 함께 일하는 동료를 모집하고 있습니다!
스프레드시트를 정례 회의록으로 사용할 수 있을까 생각합니다.
(스프레드시트 앱의 사용법이 아니다!라는 점은, 이번 많게 봐 주세요><)
그 때에 템프레 시트를 카피해, 오늘의 일자로 해…라고, 매회 반복하고 있다고 수고에 느끼는 일도 많을 것입니다.
메뉴에 템플릿 복사 버튼을 제공하고 오늘 날짜의 시트를 쉽게 복사할 수 있는 기능을 Google Apps Script에서 20행으로 구현합니다.
스프레드시트 준비
GoogleDrive에서 새 스프레드시트를 만듭니다.
혹은 기존의 것도 상관없습니다.
「템플렛」이라고 하는 시트를 준비해, 적당하게 문자를 박습니다.
그런 다음 메뉴의 도구 → 스크립트 편집기를 엽니다.
즐겁게 아래 코드를 붙여넣고 저장합니다.
코드
function onOpen() {
SpreadsheetApp.getActiveSpreadsheet().addMenu('テンプレート', [{name: 'シートのコピーを作成', functionName: 'copySheet'}]);
}
function copySheet() {
var templateFileName = "テンプレ";
var today = Utilities.formatDate(new Date(), 'Asia/Tokyo', 'yyyy-MM-dd');
var spreadSheet = SpreadsheetApp.getActiveSpreadsheet();
var templateSheet = spreadSheet.getSheetByName(templateFileName);
var distSheet = spreadSheet.getSheetByName(today);
if (!templateSheet) { // テンプレシートの名前が変えられたり削除された場合のエラー
Browser.msgBox(templateFileName + "という名前のシートがありません。");
} else if (distSheet) { // 既にファイル生成済み
Browser.msgBox("既に今日の日付のシートが存在するため、コピーできません。");
} else { // 新シート追加
distSheet = templateSheet.copyTo(spreadSheet).setName(today);
spreadSheet.setActiveSheet(distSheet);
}
}
권한 대화 상자 승인
스프레드시트에 액세스할 수 있는 권한을 승인해야 합니다.
기능 선택 메뉴에서 onOpen을 선택하고 두 개의 왼쪽 삼각형을 눌러 실행할 수 있습니다.
처음에는 승인 대화 상자가 나오므로,
Google 계정 선택 화면에서 내 계정을 선택한 후 아래와 같은 창이 나오면
상세→xxxxx(안전하지 않은 페이지)로 이동→텍스트 박스에 「다음」이라고 입력→허가로 허가됩니다.
※ 자기 책임으로 부탁드립니다.
최종 확인
스프레드시트를 다시 로드합니다.
메뉴 가장 오른쪽에 "템플릿"이라는 메뉴가 추가되어 있으므로 선택합니다.
안전하게 오늘 날짜로 시트가 복사되어야합니다.
덧붙여서 실수로 템플리 시트를 지우거나 이름 변경해 버렸을 경우에 다이얼로그를 내거나, 이미 오늘 분의 시트가 있는 경우에 다이얼로그를 내는 처리도 실장되고 있습니다.
덧붙여서 템플리 이외에 다른 시트 이상 있는 경우는 템플리 시트를 숨기는 것도 가능합니다. 그러면 매일 템플리 시트가 시트 일람에 나오지 않기 때문에 깨끗이합니다.
우리 팀에서 일하지 않겠습니까?
에이팀 은 인터넷을 이용한 다양한 기술을 구사해, 폭넓은 비즈니스의 영역에 계속 도전하는 나고야의 종합 IT 기업입니다.
그 그룹 회사인 주식회사 에이팀 브라이즈에서는, 함께 일하는 동료를 모집하고 있습니다!
function onOpen() {
SpreadsheetApp.getActiveSpreadsheet().addMenu('テンプレート', [{name: 'シートのコピーを作成', functionName: 'copySheet'}]);
}
function copySheet() {
var templateFileName = "テンプレ";
var today = Utilities.formatDate(new Date(), 'Asia/Tokyo', 'yyyy-MM-dd');
var spreadSheet = SpreadsheetApp.getActiveSpreadsheet();
var templateSheet = spreadSheet.getSheetByName(templateFileName);
var distSheet = spreadSheet.getSheetByName(today);
if (!templateSheet) { // テンプレシートの名前が変えられたり削除された場合のエラー
Browser.msgBox(templateFileName + "という名前のシートがありません。");
} else if (distSheet) { // 既にファイル生成済み
Browser.msgBox("既に今日の日付のシートが存在するため、コピーできません。");
} else { // 新シート追加
distSheet = templateSheet.copyTo(spreadSheet).setName(today);
spreadSheet.setActiveSheet(distSheet);
}
}
권한 대화 상자 승인
스프레드시트에 액세스할 수 있는 권한을 승인해야 합니다.
기능 선택 메뉴에서 onOpen을 선택하고 두 개의 왼쪽 삼각형을 눌러 실행할 수 있습니다.
처음에는 승인 대화 상자가 나오므로,
Google 계정 선택 화면에서 내 계정을 선택한 후 아래와 같은 창이 나오면
상세→xxxxx(안전하지 않은 페이지)로 이동→텍스트 박스에 「다음」이라고 입력→허가로 허가됩니다.
※ 자기 책임으로 부탁드립니다.
최종 확인
스프레드시트를 다시 로드합니다.
메뉴 가장 오른쪽에 "템플릿"이라는 메뉴가 추가되어 있으므로 선택합니다.
안전하게 오늘 날짜로 시트가 복사되어야합니다.
덧붙여서 실수로 템플리 시트를 지우거나 이름 변경해 버렸을 경우에 다이얼로그를 내거나, 이미 오늘 분의 시트가 있는 경우에 다이얼로그를 내는 처리도 실장되고 있습니다.
덧붙여서 템플리 이외에 다른 시트 이상 있는 경우는 템플리 시트를 숨기는 것도 가능합니다. 그러면 매일 템플리 시트가 시트 일람에 나오지 않기 때문에 깨끗이합니다.
우리 팀에서 일하지 않겠습니까?
에이팀 은 인터넷을 이용한 다양한 기술을 구사해, 폭넓은 비즈니스의 영역에 계속 도전하는 나고야의 종합 IT 기업입니다.
그 그룹 회사인 주식회사 에이팀 브라이즈에서는, 함께 일하는 동료를 모집하고 있습니다!
스프레드시트를 다시 로드합니다.
메뉴 가장 오른쪽에 "템플릿"이라는 메뉴가 추가되어 있으므로 선택합니다.
안전하게 오늘 날짜로 시트가 복사되어야합니다.
덧붙여서 실수로 템플리 시트를 지우거나 이름 변경해 버렸을 경우에 다이얼로그를 내거나, 이미 오늘 분의 시트가 있는 경우에 다이얼로그를 내는 처리도 실장되고 있습니다.
덧붙여서 템플리 이외에 다른 시트 이상 있는 경우는 템플리 시트를 숨기는 것도 가능합니다. 그러면 매일 템플리 시트가 시트 일람에 나오지 않기 때문에 깨끗이합니다.
우리 팀에서 일하지 않겠습니까?
에이팀 은 인터넷을 이용한 다양한 기술을 구사해, 폭넓은 비즈니스의 영역에 계속 도전하는 나고야의 종합 IT 기업입니다.
그 그룹 회사인 주식회사 에이팀 브라이즈에서는, 함께 일하는 동료를 모집하고 있습니다!
상기 구인을 보셔, 조금이라도 흥미를 가져 주신 분은, 우선은 채팅으로 대충 이야기를 합시다.
기술적인 이야기뿐만 아니라, 우리가 소중히 하고 있는 일이나, 맡기고 싶은 일에 대해서 등을 자세하게 전하겠습니다!
Qiita Jobs 보다 메시지 기다리고 있습니다!
Reference
이 문제에 관하여(단 20줄의 코드로 스프레드시트를 복사하는 메뉴 추가), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/rf_p/items/6bcbe41fb6efd0255cd3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)