![](/img/trans.png)
[英]Google Apps Script : The parameters (String) don't match the method signature for CalendarApp.Calendar.createEvent
[英]Google Sheets Apps Script RichTextValueBuilder Parameters Don't Match method Signature
我正在努力以編程方式顯示“了解你的鄰居地圖”社區項目的居民列表。 我想為住所取任意數量的名字和姓氏,並以粗體列出姓氏並在任何名字和數字前導。 下面或鏈接中的 kludge 代碼是我的第一遍。 我已經嘗試了各種迭代來消除 go 的異常,但我沒有成功,而且我在文檔或谷歌上找不到任何具體的內容。
制作副本並使用此鏈接自行運行: https://docs.google.com/spreadsheets/d/1rWHG5CKHvFzohTq9fSl8p8AjNcFjX0Tatior_hvOncE/copy
我收到以下錯誤:“異常:參數 (SpreadsheetApp.RichTextValueBuilder) 與 SpreadsheetApp.Range.setRichTextValue 的方法簽名不匹配。(第 49 行,文件“代碼”)”
有任何想法嗎?
克魯奇在這里!
function main() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var dataSheet = ss.getSheetByName('Data');
var address_array = dataSheet.getRange('AddressData').getValues();
var bold = SpreadsheetApp.newTextStyle().setBold(true).build();
var resident_count = 1;
for (var i = 0; i < address_array.length; i++) {
var resident_array = address_array[i];
var resident_cell_range_name = 'Resident' + resident_count.toString();
var resident_cell = dataSheet.getRange(resident_cell_range_name);
var resident_text_array = [];
var resident_bold = [];
for (var j = 0; j < resident_array.length; j += 3) {
var last = resident_array[j];
var first = resident_array[j + 1];
var number = resident_array[j + 2];
if (last) {
var bold_start_stop = [];
var total = length_all(resident_text_array);
bold_start_stop.push(total);
bold_start_stop.push(total + last.length);
resident_bold.push(bold_start_stop);
resident_text_array.push(last)
}
if (first) {
if (number) {
var name_num = first + ' - ' + number;
resident_text_array.push(name_num)
}
else {
resident_text_array.push(first)
}
} else {
if (number) {
resident_text_array.push(number)
}
}
}
var value = SpreadsheetApp.newRichTextValue();
var resident_text = 'Some text';
// var resident_text = resident_text_array.join(String.fromCharCode(10));
// var resident_text = resident_text_array.join(' ');
value.setText(resident_text);
// for (start_stop of resident_bold) {
// value.setTextStyle(start_stop[0], start_stop[1], bold);
// }
value.build();
// resident_cell.setValue('text');
resident_cell.setRichTextValue(value);
Logger.log(resident_text_array);
resident_count += 1;
}
Logger.log(address_array);
}
function length_all(resident_text_array){
var total = 0;
for (each of resident_text_array) {
total = total + each.length;
}
return total;
}
問題是在setRichTextValue()
function 之外使用build()
命令。
導致異常的原件:
value.build();
resident_cell.setRichTextValue(value);
固定的:
resident_cell.setRichTextValue(value.build());
我不確定為什么,但就是這樣!
我正在努力以編程方式顯示“了解你的鄰居地圖”社區項目的居民列表。 我想為住所取任意數量的名字和姓氏,並用粗體列出他們的姓氏,並以任何名字和數字開頭。 下面或來自鏈接的kludge代碼是我的第一遍。 我已經嘗試了各種迭代來消除 go 的異常,但我沒有成功,我在文檔或谷歌上找不到任何具體的東西。
制作一個副本並使用此鏈接自行運行: https://docs.google.com/spreadsheets/d/1rWHG5CKHvFzohTq9fSl8p8AjNcFjX0Tatior_hvOncE/copy
我收到以下錯誤:“異常:參數 (SpreadsheetApp.RichTextValueBuilder) 與 SpreadsheetApp.Range.setRichTextValue 的方法簽名不匹配。(第 49 行,文件“代碼”)”
有任何想法嗎?
克魯奇下來!
function main() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var dataSheet = ss.getSheetByName('Data');
var address_array = dataSheet.getRange('AddressData').getValues();
var bold = SpreadsheetApp.newTextStyle().setBold(true).build();
var resident_count = 1;
for (var i = 0; i < address_array.length; i++) {
var resident_array = address_array[i];
var resident_cell_range_name = 'Resident' + resident_count.toString();
var resident_cell = dataSheet.getRange(resident_cell_range_name);
var resident_text_array = [];
var resident_bold = [];
for (var j = 0; j < resident_array.length; j += 3) {
var last = resident_array[j];
var first = resident_array[j + 1];
var number = resident_array[j + 2];
if (last) {
var bold_start_stop = [];
var total = length_all(resident_text_array);
bold_start_stop.push(total);
bold_start_stop.push(total + last.length);
resident_bold.push(bold_start_stop);
resident_text_array.push(last)
}
if (first) {
if (number) {
var name_num = first + ' - ' + number;
resident_text_array.push(name_num)
}
else {
resident_text_array.push(first)
}
} else {
if (number) {
resident_text_array.push(number)
}
}
}
var value = SpreadsheetApp.newRichTextValue();
var resident_text = 'Some text';
// var resident_text = resident_text_array.join(String.fromCharCode(10));
// var resident_text = resident_text_array.join(' ');
value.setText(resident_text);
// for (start_stop of resident_bold) {
// value.setTextStyle(start_stop[0], start_stop[1], bold);
// }
value.build();
// resident_cell.setValue('text');
resident_cell.setRichTextValue(value);
Logger.log(resident_text_array);
resident_count += 1;
}
Logger.log(address_array);
}
function length_all(resident_text_array){
var total = 0;
for (each of resident_text_array) {
total = total + each.length;
}
return total;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.