「儀式是什麼?」小王子問道。
狐狸說:「它就是使某一天與其他日子不同,使某一時刻與其他時刻不同。」
儀式感
從日劇-不能結婚的男人-說起
我認為桑野信介的生活充滿了儀式感
這也可能是他看起來奇怪的原因
看完整部劇之後
也不能說他是從心底排斥結婚
反而更重視的是兩個人相處的契合
只是不結婚,但不是反對談戀愛
每一集(第一季最明顯)都可以看到他生活中的儀式
最近結束成果分享會,拍了許多照片
原本想用Google相簿提供照片給參與人員瀏覽與下載
但是,Google相簿只能透過分享的方式
也同時會開放權限給其他使用者
不符合我的需求
因此,決定將照片上傳到學校網頁空間
找到一個簡單且符合需求的模板-Multiverse – Free HTML5 Photography Website Template
刪除不需要的內容之後
首先要將照片圖檔分成小圖,跟大圖
這樣才能節省載入時間,並且配合點小圖放大圖的燈箱效果
又因為,我同時用2台相機拍照
照片檔名的命名前綴不同,而且為了處理html時方便統一處理,必須要重新命名
只是修改檔名的程式卻無法使用拍攝時間排序
所以先在資料夾將檔案全選,在第一個檔案按右鍵-重新命名
檔案名稱就會變成 XX(1)~~XX(N)
這樣就可以用批次修改檔名的程式將不需要的字串用空白取代
之後再把原始圖檔縮成適當尺寸的大圖與瀏覽用的小圖
因為照片有125張,不可能一個一個輸入網址
而且學校的網頁空間只允許靜態網頁,也不能用連結資料庫的方式
所以透過Excel 整理與串接html程式碼的字串,之後再一次貼上
這時候遇到的難關是–如何在Excle的公式的字串裡再串接雙引號
萬事拜Google大神
解答是: 2個 ” 等於 1個 ” ,由於前後又各有1個 “包起來成為字串,所以在公式中會變成=““”“
因此,html程式碼改成Excel字串必須分清楚哪個是Excel的字串符號,哪個是html的雙引號
之後將html貼入模板之中就大功告成
1.在圖檔的彈出視窗,增加”DOWNLOAD”的功能,可以直接下載而不是開新視窗,並且讓下載的圖檔是原始圖檔
這必須在 a 標籤內增加一個 download的參數
2.原本的模板在手機瀏覽時,文字標籤會被隱藏,修改CSS取消隱藏
3.原本的模板,照片是沒有間隔的,所以修改CSS增加框線
是將試算表當作資料來源
結合執行 Google Apps Script的功能
經過測試,一般的帳號似乎是無法使用
按照範例就可以執行
可以依照自己的需求來修改
我修改了以下程式碼:
第7行–選取的列數
第9行–儲存格的範圍,對應試算表是A2到C2
getRange(row, column, numRows, numColumns)的用法
numRows → The number of rows to return.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | /** * Sends emails with data from the current spreadsheet. */ function sendEmails() { var sheet = SpreadsheetApp.getActiveSheet(); var startRow = 2; // First row of data to process var numRows = 2; // Number of rows to process // Fetch the range of cells A2:B3 var dataRange = sheet.getRange(startRow, 1, numRows, 3); // Fetch values for each row in the Range. var data = dataRange.getValues(); for (var i in data) { var row = data[i]; var emailAddress = row[0]; // First column var message = row[1]; // Second column var subject = row[2];//mail subject MailApp.sendEmail(emailAddress, subject, message); } } |
測試結果是OK的,收得到信
javascipt是物件導向程式設計語言,建立物件之前必須先定義物件的規格形式,稱為『類別 (class)』,也就是先定義好這個物件長什麼樣子以及要做哪些事情。定義類別的樣式,稱為 『屬性 (Properties)』,要做的事或提供的方法,稱為『方法 (Methods)』。
Access and create Google Sheets files.
getActiveSheet()-Methods
Gets the active sheet in a spreadsheet.
備註:相對於excel,sheet就是工作表、spreadsheet是工作簿
Sheet-Class 的Methods
Returns the range with the top left cell at the given coordinates with the given number of rows and columns.
row | Integer | The starting row index of the range; row indexing starts with 1 |
column | Integer | The starting column index of the range; column indexing starts with 1 |
numRows | Integer | The number of rows to return |
numColumns | Integer | The number of columns to return |
Sheet-Class 的Methods
Returns the rectangular grid of values for this range. Returns a two-dimensional array of values, indexed by row, then by column.
備註:什麼是二維陣列:
一維陣列使用陣列名稱與一個索引值來指定存取陣列元素,例如:a[0]=(“123”),在陣列a的第一個位置放入123
二維陣列使用陣列名稱與兩個索引值來指定存取陣列元素,例如:b[0][1]=(“456”),在陣列b的第一列第二欄/行的位置放入456
第一個[ ]是列(Row) ;第二個[ ]是欄或行(Column);[i][j] ,表示要存取 i 列 j 行的元素。
MailApp-class的Methods
recipient | String | the addresses of the recipients, separated by commas |
subject | String | the subject line |
body | String | the body of the email |