2013-03-21 108 views
8

今天,我有一個關於谷歌Apps腳本的問題,專門爲電子表格。我已經看了看文檔here(是的,在電子表格中的文檔),但我一直沒能找到我要找的。這裏的Sitch爲:谷歌Apps腳本電子表格註釋自動化

1)當一個細胞是在谷歌電子表格編輯,我有功能設置在使用該功能的注:(是的,它說:cell.setComment(),但在現實中它創建一注感謝是一致的,谷歌):!

function onEdit() { 
var doc = SpreadsheetApp.getActiveSpreadsheet(); 
var sheet = doc.getActiveSheet(); 
var cell = sheet.getActiveCell(); 
cell.setComment("Last modified: + (new Date())); 
} 

2)注意已被評論爲...... 2012年9月5日「取代」?也許?我寧願使用這些。

3.)對於兩種類型的「細胞符號」的,存在功能只SET註釋/註釋,而不是ADD(根據文檔)。

4.)我想引用或寫入具有添加一個新的註釋/註釋的能力的功能(優選評論,它們更容易讀取),而不是設置在注/註釋。

5.)您可以通過電子表格中的GUI手動添加註釋/註釋(右鍵單擊一個單元格並選擇「插入註釋」或「插入註釋」。相信我們可以寫一個腳本做同樣的事情,但在小區已被編輯,可以自動神奇地叫。

6)該功能將被用於跟蹤細胞的修訂歷史。我知道我可以創建一個新的電子表格併發送修訂歷史到新的電子表格很容易,但考慮到我有10個電子表格需要被跟蹤,我寧可不要10個新的電子表格來記錄歷史。將它保留在同一個電子表格中會使事情變得簡單。

如果有人可以幫助我,它將不勝感激!

回答

6

無法通過電子表格服務處理評論 - 請參閱Issue 2566。 (如果您願意,請將它加上星號)。

相反,所有「註釋」方法都適用於Notes。

不幸的是,下面的方法會將一個新的「修改」時間戳附加到任何現有的時間戳上 - 看起來不像實際的評論那麼好。

function onEdit() { 
    var sheet = SpreadsheetApp.getActiveSpreadsheet(); 
    var cell = sheet.getActiveCell(); 
    var comments = cell.getComment(); 
    // Newline works in msgBox, but not in Note. 
    comments = comments + "\\nModified: " + (new Date()); 
    //Browser.msgBox(comments); 
    cell.setComment(comments); 
} 
+0

哈哈,我現在正在評論「XD 非常感謝Mogsdad。我會訂閱該問題,以便在修復腳本時更改腳本。關於你的代碼,我不能相信我錯過了這樣一個簡單的解決方案......得到()舊的「註釋」並用換行符追加到它們。你是一個天才,你讓我在工作中的工作變得更容易! – AnonymousStudent 2013-03-23 17:34:16

4

在Google Apps腳本中使用Google Drive API,我們可以在Google文檔中創建評論。
和測試後,我確認你也可以做一個電子表格(這是正常的,因爲評論只取決於驅動器API)

function insertDriveComment(fileId, comment, context) { 
    var driveComment = { 
    content: comment, 
    context: { 
     type: 'text/html', 
     value: context 
    } 
    }; 
    Drive.Comments.insert(driveComment, fileId); 
} 

請記住,你不能以編程註釋附着在細胞(或Google文檔中的單詞),因爲文檔和電子表格評論的錨點是專有的(請檢查頁面底部的視頻here

希望它可以提供幫助。

相關問題