Google ã¹ãã¬ããã·ãŒãããã䟿å©ã«äœ¿ãããã«ãGoogle Apps Script (GAS)æ¹æ³ããå®åæ¥åã®ç¬èªã®ã«ã¹ã¿ã ã¡ãã¥ãŒãäœæããæ¹æ³ã解説ããŸããGASã䜿ããã°ãå®åæ¥åã®èªååã䟿å©ãªæ©èœãã¡ãã¥ãŒããã¯ã³ã¯ãªãã¯ã§å®è¡ã§ããããã«ãªããŸãã
- 🎛️ 1.ã«ã¹ã¿ã ã¡ãã¥ãŒã®åºæ¬æ§é
- 📄 2.ã«ã¹ã¿ã ã¡ãã¥ãŒãåæ ããæ¹æ³
- 📚 3. ãµãã¡ãã¥ãŒã远å ããæ¹æ³
- ⚡️ 4.ã·ã§ãŒãã«ããããŒã衚瀺ããæ¹æ³
- 🕹️ 5. æ¡ä»¶ä»ãã¡ãã¥ãŒã®äœæ
- 🔍 6. ãã©ãã«ã·ã¥ãŒãã£ã³ã°
- 🎯 7. å¿çšäŸïŒæ¥åèªååã¡ãã¥ãŒã®æŽ»çš
- 🎉 8. ãŸãšã
🎛️ 1.ã«ã¹ã¿ã ã¡ãã¥ãŒã®åºæ¬æ§é
颿°ã¯ãã¹ãã¬ããã·ãŒãã衚瀺ããéã«èªåçã«å®è¡ããããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ïŒUI ïŒã«ã¡ãã¥ãŒã远å ãããŸããâââââGAS ã§ã«ã¹ã¿ã ã¡ãã¥ãŒãäœæããã«ã¯ãonOpen()颿°ãå©çšããŸããonOpen()颿°ã¯ãã¹ãã¬ããã·ãŒãã衚瀺ããéã«èªåçã«å®è¡ããããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ïŒUIïŒã«ã¡ãã¥ãŒã远å ããŸãã
✅åºæ¬ã³ãŒã
ãžã£ãã¹ã¯ãªããã³ããŒããç·šéããfunction onOpen() {
// ã¹ãã¬ããã·ãŒãã®UIãååŸ
var ui = SpreadsheetApp.getUi();
// ã¡ãã¥ãŒãäœæ
ui.createMenu('ã«ã¹ã¿ã ã¡ãã¥ãŒ') // ã¡ãã¥ãŒå
.addItem('ããŒã¿éèš', 'aggregateData') // é
ç®åãšå®è¡é¢æ°
.addItem('ã¬ããŒãäœæ', 'createReport')
.addSeparator() // åºåãç·ã®è¿œå
.addItem('èšå®æŽæ°', 'updateSettings')
.addToUi(); // UI ã«ã¡ãã¥ãŒã远å
}
// ããŒã¿éèšé¢æ°
function aggregateData() {
SpreadsheetApp.getUi().alert('ããŒã¿éèšãéå§ããŸã');
}
// ã¬ããŒãäœæé¢æ°
function createReport() {
SpreadsheetApp.getUi().alert('ã¬ããŒããäœæããŸãã');
}
// èšå®æŽæ°é¢æ°
function updateSettings() {
SpreadsheetApp.getUi().alert('èšå®ãæŽæ°ããŸãã');
}
📌ãã€ã³ã
onOpen()颿°ã¯èªåå®è¡ããã.addItem('ã¡ãã¥ãŒå', '颿°å')ã§ã¡ãã¥ãŒã®é ç®ã远å.addSeparator()ã§åºåãç·ã远å.addToUi()ã¹ãã¬ããã·ãŒãã«ã¡ãã¥ãŒãåæ
📄 2.ã«ã¹ã¿ã ã¡ãã¥ãŒãåæ ããæ¹æ³
🛠️æé
- Googleã¹ãã¬ããã·ãŒããéã
- æ¡åŒµæ©èœ â Apps ScriptãæŒã
- ã³ãŒããšãã£ã¿ã«äžèšã®ã³ãŒãã貌ãä»ããŸã
- ããããã€ãâããã¹ããâãonOpenããå®è¡
- ã·ãŒããåèªã¿èŸŒã¿ããŠãã¡ãã¥ãŒã远å ãããŠããäºã確èª
📚 3. ãµãã¡ãã¥ãŒã远å ããæ¹æ³
ããµãã¡ãã¥ãŒïŒããããããŠã³ïŒã远å ããŠaddSubMenu()䜿çšããŸãã
✅ãµãã¡ãã¥ãŒã®ã³ãŒã
ãžã£ãã¹ã¯ãªããã³ããŒããç·šéããfunction onOpen() {
var ui = SpreadsheetApp.getUi();
// ãµãã¡ãã¥ãŒã®äœæ
var subMenu = ui.createMenu('ã¬ããŒãé¢é£')
.addItem('ææ¬¡ã¬ããŒã', 'createMonthlyReport')
.addItem('幎次ã¬ããŒã', 'createAnnualReport');
// ã¡ã€ã³ã¡ãã¥ãŒ
ui.createMenu('ã«ã¹ã¿ã ã¡ãã¥ãŒ')
.addItem('ããŒã¿éèš', 'aggregateData')
.addSubMenu(subMenu) // ãµãã¡ãã¥ãŒã远å
.addItem('èšå®æŽæ°', 'updateSettings')
.addToUi();
}
// ãµãã¡ãã¥ãŒã®é¢æ°
function createMonthlyReport() {
SpreadsheetApp.getUi().alert('ææ¬¡ã¬ããŒããäœæããŸãã');
}
function createAnnualReport() {
SpreadsheetApp.getUi().alert('幎次ã¬ããŒããäœæããŸãã');
}
📌ãã€ã³ã
createMenu()ã§ãµãã¡ãã¥ãŒãäœæ.addSubMenu(subMenu)ã¡ã€ã³ã¡ãã¥ãŒã«ãµãã¡ãã¥ãŒã远å
⚡️ 4.ã·ã§ãŒãã«ããããŒã衚瀺ããæ¹æ³
ã§ãããã`GAS ã®ã¡ãã¥ãŒã§ã¯çŽæ¥ã·ã§ãŒãã«ããããŒãåªå
ããããšã¯ã§ããŸããããaddItem()説æãšããŠè¡šç€ºããããšãå¯èœã§ãã
ãžã£ãã¹ã¯ãªããã³ããŒããç·šéããui.createMenu('ã«ã¹ã¿ã ã¡ãã¥ãŒ')
.addItem('ããŒã¿éèš (Ctrl + Shift + A)', 'aggregateData')
.addToUi();
🕹️ 5. æ¡ä»¶ä»ãã¡ãã¥ãŒã®äœæ
ç¹å®ã®ãŠãŒã¶ãŒãæ¡ä»¶ã«ãã£ãŠã¡ãã¥ãŒå 容ã倿Žããããšãã§ããŸããäŸãã°ã管çè ã®ã¿ç¹å¥ãªã¡ãã¥ãŒã衚瀺ãããã«ã¯ä»¥äžã®ããã«ããŸãã
ãžã£ãã¹ã¯ãªããã³ããŒããç·šéããfunction onOpen() {
var ui = SpreadsheetApp.getUi();
var userEmail = Session.getActiveUser().getEmail();
var menu = ui.createMenu('管çã¡ãã¥ãŒ');
if (userEmail === 'admin@example.com') {
menu.addItem('管çè
çšã¬ããŒã', 'adminReport');
} else {
menu.addItem('ãŠãŒã¶ãŒçšã¬ããŒã', 'userReport');
}
menu.addToUi();
}
// 管çè
çšã¬ããŒã
function adminReport() {
SpreadsheetApp.getUi().alert('管çè
ã¬ããŒããäœæããŸãã');
}
// ãŠãŒã¶ãŒçšã¬ããŒã
function userReport() {
SpreadsheetApp.getUi().alert('ãŠãŒã¶ãŒçšã¬ããŒããäœæããŸãã');
}
📌ãã€ã³ã
Session.getActiveUser().getEmail()ã§ãã°ã€ã³ãŠãŒã¶ãŒã®ã¡ãŒã«ã¢ãã¬ã¹ãååŸ- æ¡ä»¶åå²ã§ãŠãŒã¶ãŒããšã«ã¡ãã¥ãŒãåºãåãã
🔍 6. ãã©ãã«ã·ã¥ãŒãã£ã³ã°
❗️ã¡ãã¥ãŒã衚瀺ãããªãå Žå
- å®
onOpen()æåã§å®è¡ããŠããã·ãŒããåèªã¿èŸŒã¿ - èš±å¯ã®ãªã¯ãšã¹ããå¿ èŠãªå Žåã¯ãèš±å¯ãäžãã
ViewâExecution logã§ãšã©ãŒã確èª
🎯 7. å¿çšäŸïŒæ¥åèªååã¡ãã¥ãŒã®æŽ»çš
GAS ã¡ãã¥ãŒã¯æ¥åå¹çåã«ã掻çšã§ããŸããäŸãã°ã以äžã®ãããªæäœãã¯ã³ã¯ãªãã¯ã§å®è¡ã§ããŸãã
- 売äžã®éèš
- 顧客ã¬ããŒãã®èªåäœæ
- Googleãã©ã€ããžã®ããã¯ã¢ãã
ãžã£ãã¹ã¯ãªããã³ããŒããç·šéããfunction backupData() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheet = spreadsheet.getActiveSheet();
var range = sheet.getDataRange();
var values = range.getValues();
var folder = DriveApp.getFolderById('FOLDER_ID'); // ãã©ã«ãIDãæå®
var fileName = 'ããã¯ã¢ãã_' + Utilities.formatDate(new Date(), 'JST', 'yyyyMMdd');
var newFile = folder.createFile(fileName + '.csv', convertToCSV(values));
SpreadsheetApp.getUi().alert('ããã¯ã¢ãããäœæããŸãã: ' + newFile.getName());
}
// ããŒã¿ãCSV圢åŒã«å€æ
function convertToCSV(data) {
return data.map(function(row) {
return row.join(',');
}).join('\n');
}
🎉 8. ãŸãšã
Google Apps Script (GAS) ã§ã®ã«ã¹ã¿ã ã¡ãã¥ãŒäœæã¯ãæ¥åžžæ¥åã®å¹çåãã¹ãã¬ããã·ãŒãã®æ©èœæ¡åŒµã«éåžžã«äŸ¿å©ã§ãã
✅åºæ¬çãªæé
onOpen()ã§ã¡ãã¥ãŒãèªåäœæ- ã§é
ç®ã远å
.addItem()ãã§.addSubMenu()é ç®ã远å .addToUi()ã§UIã«åæ- å¿ èŠã«å¿ããŠããµãã¡ãã¥ãŒã»æ¡ä»¶åå²ã»èªååæ©èœã远å
ããã§ããªãã®ã¹ãã¬ããã·ãŒãã¯ãæ¥åå¹çãå€§å¹ ã«ã¢ããããã匷åãªããŒã«ã«ãªããŸãïŒ

ã³ã¡ã³ã