Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 谷歌电子表格脚本-如何测试单元格是否粗体_Google Apps Script_Google Docs_Google Drive Api - Fatal编程技术网

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);
  }
}