Google apps script 谷歌电子表格脚本-如何测试单元格是否粗体
我需要测试给定的电子表格单元格是否为粗体。这是到目前为止我的脚本代码Google apps script 谷歌电子表格脚本-如何测试单元格是否粗体,google-apps-script,google-docs,google-drive-api,Google Apps Script,Google Docs,Google Drive Api,我需要测试给定的电子表格单元格是否为粗体。这是到目前为止我的脚本代码 function ifBold(cell, val1, val2) { if(cell.getFontWeight() == 'bold') return val1; return val2; } 它会出错,告诉我“cell”没有函数getFontWeight()。如何使其工作?getFontWeight()是一个范围函数,因此只要您传递给上述函数的是一个范围对象(sheet.getRange
function ifBold(cell, val1, val2) {
if(cell.getFontWeight() == 'bold')
return val1;
return val2;
}
它会出错,告诉我“cell”没有函数getFontWeight()。如何使其工作?getFontWeight()是一个范围函数,因此只要您传递给上述函数的是一个范围对象(sheet.getRange(…),它就应该工作:
这是一个常规脚本,将检查中的每个元素是否为粗体:
function ifBold() {
var sheet = SpreadsheetApp.getActive().getSheetByName('Bold');
var cells = sheet.getRange('A2:A');
for (var i=1; i <= cells.getNumRows(); i++) {
var isBold = false;
if(cells.getCell(i, 1).getFontWeight() == 'bold')
isBold = true;
sheet.getRange(i+1, 2).setValue(isBold);
}
}
函数ifBold(){
var sheet=SpreadsheetApp.getActive().getSheetByName('Bold');
var cells=sheet.getRange('A2:A');
对于(var i=1;i您必须将单元格作为字符串传递。ifBold(“A1”,1,0) 如果传入单元格或区域而未将其作为字符串发送,则将分别作为字符串或数组接收。并且无法将其作为范围对象进行处理。有关详细信息,请参阅以下链接:
编辑:
要以动态方式编写函数,需要使用内置函数行和列。
=ifBold(第(A1)行第(A1)列第1,0行)
这很好,但由于单元格地址位于“”注释中,因此无法将函数向下拖动到不同的单元格
function ifBold() {
var sheet = SpreadsheetApp.getActive().getSheetByName('Bold');
var cells = sheet.getRange('A2:A');
for (var i=1; i <= cells.getNumRows(); i++) {
var isBold = false;
if(cells.getCell(i, 1).getFontWeight() == 'bold')
isBold = true;
sheet.getRange(i+1, 2).setValue(isBold);
}
}
函数ifBold(){
var sheet=SpreadsheetApp.getActive().getSheetByName('Bold');
var cells=sheet.getRange('A2:A');
对于(var i=1;示例中的i没有公式它是一个脚本。请尝试菜单:“工具->脚本编辑器…”。如何将计数设为粗体行?即使是A1也无法计数)错误
function ifBold(row, column, val1, val2) {
var range = SpreadsheetApp.getActiveSpreadsheet().getDataRange().getCell(row, column);
if(range.getFontWeight() == 'bold')
return val1;
return val2;
}
function ifBold() {
var sheet = SpreadsheetApp.getActive().getSheetByName('Bold');
var cells = sheet.getRange('A2:A');
for (var i=1; i <= cells.getNumRows(); i++) {
var isBold = false;
if(cells.getCell(i, 1).getFontWeight() == 'bold')
isBold = true;
sheet.getRange(i+1, 2).setValue(isBold);
}
}