2013-03-21 53 views
8

Hôm nay tôi có câu hỏi về Google Apps Scripts, cụ thể là Bảng tính. Tôi đã xem tài liệu here (có, tài liệu trên Tờ trong Bảng tính), nhưng tôi chưa thể tìm thấy những gì tôi đang tìm kiếm. Dưới đây là sitch:Tự động hóa chú thích Bảng tính Google Apps Script

1.) Khi một tế bào được thay đổi nội dung trong một bảng tính Google, chức năng tôi có SETS một LƯU Ý sử dụng chức năng (có nó nói cell.setComment(), nhưng trong thực tế nó tạo ra Ghi chú Cảm ơn bạn đã phù hợp, Google):.!

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

2.) Ghi chú đã được 'thay thế' bởi Comments như của ... ngày 05 tháng 9 năm 2012? Có lẽ? Thay vào đó tôi thà dùng những thứ đó.

3.) Đối với cả hai loại 'ký hiệu tế bào, có tồn tại chức năng duy nhất để SET Note/Comment, và không ADD (theo tài liệu).

4.) Tôi muốn tham khảo hoặc viết một hàm có khả năng thêm một chú thích/chú thích mới (tốt hơn là chú thích, chúng dễ đọc hơn), thay vì đặt chú thích/chú thích.

5.) Bạn có thể thêm một chú thích/chú thích thông qua GUI trong bảng tính (bấm chuột phải vào ô và chọn "Chèn ghi chú" hoặc "Chèn chú thích". Bởi vì các hàm nhấp chuột này tồn tại dẫn tôi đến tin rằng chúng ta có thể viết một kịch bản để làm điều tương tự, nhưng có nó được gọi là tự động kỳ diệu khi ô đã được chỉnh sửa

6.) Chức năng này sẽ được sử dụng để theo dõi lịch sử sửa đổi ô. Tôi biết rằng tôi có thể tạo một bảng tính mới và gửi lịch sử sửa đổi đến bảng tính mới dễ dàng, nhưng xem xét rằng tôi có 10 bảng tính cần được theo dõi, tôi không muốn có 10 bảng tính mới để theo dõi lịch sử. Giữ nó trong cùng một bảng tính sẽ giữ cho mọi thứ đơn giản.

Nếu có ai có thể giúp tôi, nó sẽ được đánh giá cao!

Trả lời

6

Không có cách nào để thao tác Nhận xét qua Dịch vụ bảng tính - xem Issue 2566. (Hãy gắn dấu sao nếu bạn muốn.)

Thay vào đó, tất cả các phương pháp "Nhận xét" đều hoạt động trên Ghi chú.

Phương pháp sau đây sẽ chắp thêm dấu thời gian "Đã sửa đổi" vào bất kỳ dấu hiện hành nào - không hoàn toàn đẹp như bình luận thực tế, thật không may.

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

Haha, tôi đang "nhận xét" ngay bây giờ XD Cảm ơn bạn rất nhiều Mogsdad. Tôi sẽ đăng ký vấn đề đó để tôi có thể thay đổi tập lệnh của mình khi được sửa. Liên quan đến mã của bạn, tôi không thể tin rằng tôi đã bỏ lỡ một giải pháp đơn giản như vậy ... get() các 'bình luận' cũ và nối thêm chúng với các dòng mới. Bạn là một thiên tài, và bạn chỉ cần thực hiện công việc của tôi trong công việc dễ dàng hơn nhiều! – AnonymousStudent

4

Sử dụng Google Drive API trong Google Apps Script, chúng tôi có thể tạo Nhận xét trong tài liệu Google.
Và sau khi xét nghiệm, tôi xác nhận rằng bạn cũng có thể làm điều đó trong một bảng tính (đó là bình thường vì Comments chỉ phụ thuộc vào API Drive)

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

Hãy nhớ rằng bạn không thể đính kèm theo chương trình bình luận cho một ô (hoặc các từ trong Tài liệu của Google), vì neo cho Tài liệu và Bảng tính Nhận xét là độc quyền (hãy kiểm tra video ở cuối trang here)

Hy vọng nó có thể hữu ích.

Các vấn đề liên quan