2014-01-16 189 views
1

我對Google文檔和Google Apps腳本有疑問。使用Google雲端硬盤和Google Apps腳本自動生成日曆文檔

是否可以使用Google Apps腳本'自動'在Google Drive中創建日曆文檔,並具有以下文檔功能。

  • 傳統萬年曆錶
  • 準確的年份和月份抽穗期
  • 精確地放置在正確的日期列

See example

我知道谷歌Apps腳本可以自動創建文件和添加內容。我只是不確定它能夠「自動」和「準確地」將日期放置在正確的位置。如果我所追求的目標不是一種選擇,我不想開始這條路。

+0

我敢肯定這是完全可行的,雖然不是很容易的......如果我有我會忍不住去嘗試的樂趣:-) –

+2

就是「谷歌日曆驅動文件」更多的自由時間硬要求?如果是這樣,爲什麼?我認爲使用Google日曆會容易得多,因爲您可以利用日曆服務(https://developers.google.com/apps-script/reference/calendar/)。 Google日曆可以與任何Google雲端硬盤文檔一樣與您的通訊錄分享... –

+0

@DanielBank,是的。我正在爲其他教師在教學網站上使用此工作。谷歌文檔使他們很容易嵌入他們的網站和更新鏈接(其他網站和文件)。我知道Google日曆的大部分功能,我不相信您可以輕鬆地將鏈接添加到URL的事件中。 –

回答

1

我很快把它扔在一起,但你應該可以很容易地修改它。通過獲取每月第一天的星期幾,然後將日期插入到二維數組的相應單元格中,您可以獲取日期以顯示在右側列中。然後將數組作爲表格插入。

function create_cal() { 
    var doc = DocumentApp.create("Calendar"), 
     body = doc.getBody(), 
     cells = [ 
     ['','','','','','',''], 
     ['','','','','','',''], 
     ['','','','','','',''], 
     ['','','','','','',''], 
     ['','','','','','',''], 
     ['','','','','','',''] 
     ], 
     now = new Date(), 
     date = new Date(now.getFullYear(), now.getMonth(), 1), 
     cur_month = now.getMonth(), 
     row = 0, 
     col = date.getDay(); 

    while (cur_month == date.getMonth()) { 
    cells[row][col] = date.getDate(); 

    col += 1; 
    if (col > 6) { 
     col = 0; 
     row += 1; 
    } 

    date = new Date(date.getTime() + 1000*60*60*24); 
    } 
    body.setText('Calendar Name'); 
    body.appendTable(cells); 
} 
+0

謝謝@lagomorpho!我會在週末玩這個。 –

+0

這一個在Google文檔中生成一個不錯的日曆。我正在尋找這樣在Google電子表格中生成日曆的東西。我將使用這個部分 – Richard

相關問題