我正在尝试解析一个Google电子表格,该表格在合并的单元格中保存评论。
我正在尝试从范围中提取并创建“shift”对象:
/**
* Return shifts object
* @contextSheet the sheet that is being parsed
* @baseTime the relative time that represent day 1
*/
extractShiftsFromSpreadSheet : function (contextSheet,baseTime) {
var shifts = [];
var ss = contextSheet;
//For each day of the week:
for(var dayIndex = 1; dayIndex <7 ; dayIndex++) {
var day = Script.Util.getDayByNum(dayIndex-1); //Convert day num to day string
var ShiftRangePerDay = Script.SpreadSheet.getShiftRangeByDay(ss,day);
var notes = ShiftRangePerDay.getComments();
var rows = ShiftRangePerDay.getNumRows();
var cols = ShiftRangePerDay.getNumColumns();
var values = ShiftRangePerDay.getValues();
var startTime;
var endTime;
var note = '';
for (i = 0; i <= rows - 1; i++) {
for (j = 0; j <= cols - 1; j++) {
//var cell = values[i][j];
var studentName = values[i][j].trim();
//if the cell value isn't a student, move on to the next cell
if(!Script.Util.isValidStudent(studentName)) continue;
// otherwise, it is a valid student shift: create it!
try {
note = notes[i][j];
}
catch(err) {
//skip
}
if(note !== '' && typeof note !== 'undefined') {
Logger.log("note found for "+studentName+"." +" note:"+ note);
}
现在,var notes = ShiftRangePerDay.getComments(); line应该返回一个String [] []对象,我应该能够从它读取,根据以下API参考: https://developers.google.com/apps-script/reference/spreadsheet/range?hl=en#getComments()
然而,它不起作用。 我尝试过使用getComments(),getNotes()甚至getCell(i,j).getNote()。 似乎没有什么工作在这里。
似乎我在这里错过了一些东西,我很想听听你对它的看法。
答案 0 :(得分:0)
正如Issue 2566中所报告的那样,处理评论的方法被打破了。明星它接收更新,并帮助提高修复的优先级。
如果您使用Notes(而不是评论),您应该会发现您的代码有效。在Sheets UI中,Notes的用户友好性较差,但至少它们(sorta)可以使用脚本。