免費APP設計運用

閱讀時間約 7 分鐘

1. 前言                      

 Google 提供了免費的雲端服務 Google Apps Script (GAS) ,我們可以撰寫一些簡易的程式APP,串接其他 Google 雲端服務 如 Google Docs ,Sheets …,就能夠幫助我們利用雲端硬碟,串起日常工作,提升工作效率。

 

2. 如何建立GAS專案?

三種方法如下:

2.1 Google 雲端硬碟

進入雲端硬碟的左上角點選「新增」→「更多」→「Google Apps Script」

2.2 Google Apps Script 平台

直接進入 Google Apps Script 的個人平台

2.3 其他 Google 服務

從 Google 服務中建立一個 Apps Script 專案

 

3. 實例說明

建立新的 Apps Script 專案,其功能如下:

將 一年份每個月的計畫事項,先記入儲存於Google 雲端硬碟Sheet 試算表內,

再利用電腦或手機,隨時查詢近日有哪些需要掌握的行程,或需要辦理的事項

 

3.1作業步驟

<1>至Google 雲端硬碟官網,開啟一個 Google Sheet 試算表,將sheet設定為[共用],且可供知道URL 之任何人有編輯權限,只需設定一次。

取得sheet id ,以便APP Script 編寫時,註明使用該來源Sheet

<2> 於Sheet 內先輸入每個月的計畫事項,當作來源資料,事先存放於sheet內,亦可先在MS EXCEL 內輸入完成後,再複製貼上 Google Drive之Sheet內。

Sheet 內輸入每個月的計畫事項內容,如下圖,本例sheet名稱為PlanSheet

raw-image

<3>sheet權限設定,接著在Sheet選單上點選「擴充功能」就可以看到 [ Apps Script ]如下

raw-image


<4>sheet 內容輸入完後,於[擴充功能] ,點選[Apps Script],以便開啟新專案,如下圖

raw-image

<5>選取Google APP Script 專案,首次須先建立新專案,若已有專案,點選該專案名稱,本例專案,點選PLAN_ToDo ,以便進入專案編輯script,如下圖

raw-image

<6> script 撰寫

依據自己需求,設計編輯程式,再執行測試檢查是否能正確運作,可能需要多次修改測試

<7>程式 script 若測試OK後,再進行部署作業,如下圖說明

raw-image

<8>上述部屬作業完成後,取得Google APP Script專案程式之網頁應用程式之URL,有了程式之URL後,可以提供該URL給各種機器,如於電腦或手機開啟瀏覽器,便能線上執行該程式,亦即可隨時隨地查詢本實例之計畫事項。

<9.1> 於電腦上執行本程式

電腦桌面上,新增網頁 icon ‘‘最近一個月事項查詢’’, 點擊即可執行程式查詢

最近一個月事項查詢之圖示,點選後便可執行

最近一個月事項查詢之圖示,點選後便可執行

查詢後,電腦顯示出現最近事項內容

查詢後,電腦顯示出現最近事項內容

<9.2> 於手機上執行本程式 

手機主畫面螢幕 ,新增網頁 icon ,  點擊即可執行程式查詢, Android, IOS 均可適用

最近事項查詢之橘色圖示,點選後便可執行

最近事項查詢之橘色圖示,點選後便可執行

查詢後,手機上顯示最近事項內容

查詢後,手機上顯示最近事項內容

3.本例來源資料與程式

3.1來源資料存放於Google 雲端硬碟之Sheet內,

若來源資料,需要修改或追加內容時,可以直接修改Sheet內容,修改後原程式仍可正常執行,讀取更新後的sheet內容。因為sheet id 沒變,網頁應用程式 URL亦沒變

3.2 Script程式設計

若script程式有修改,須再執行部署作業,取得修改後之新的網頁應用程式 URL,再修改圖示之URL才有效。做法同上述說明  

3.3 Script程式編碼,如下參考


function doGet() {
const sheetId = '1Zw312d6krCqTNusSjQOhH6QzCXhp3qg6CZj6hSpFOUs';
const sheetName = '工作表1';
const s = "2";
const spreadsheet = SpreadsheetApp.openById(sheetId);
const sheet = spreadsheet.getSheetByName(sheetName);
const b=" "
var c = '\n\n\n\n\n' // skip 5 lines
var sysD = new Date().toJSON().slice(0,10);
c += b + "** 今日" + sysD + "最近一個月事項查詢 **"+'\n' // ** 標題設定 **"
sysD = new Date().toJSON().slice(0,10).replace(/-/g,''); // 2022-12-21 to 20221221
console.log(sysD);
var shtD=""
for (var i = 2; i < 30; i++) {
shtD = sheet.getRange(4,i).getValues();
// console.log(shtD);

if (sysD < shtD) {
c += b + sheet.getRange(1,1).getValues() + " "+sheet.getRange(1,i-1).getValues() + " " + sheet.getRange(1,i).getValues()+'\n'
c += b + sheet.getRange(2,1).getValues() + " "+sheet.getRange(2,i-1).getValues() + " " + sheet.getRange(2,i).getValues()+'\n'
c += b + sheet.getRange(3,1).getValues() + " "+sheet.getRange(3,i-1).getValues() + " " + sheet.getRange(3,i).getValues()+'\n'
i = 31
}
}
for (var i = 7; i < 11; i++) {
c += '\n' + b + sheet.getRange(i,1).getValues()
}
return ContentService.createTextOutput(c);
}

----------recorded by linct-----------

9會員
50內容數
樂趣體驗紀錄,沙龍房間有歌唱,生活,科技
留言0
查看全部
發表第一個留言支持創作者!