google-apps-script - Google 电子表格脚本 - 如何测试单元格是否为粗体

标签 google-apps-script google-docs google-drive-api

我需要测试给定的电子表格单元格是否为粗体。这是到目前为止我的脚本代码。

function ifBold(cell, val1, val2) {
    if(cell.getFontWeight() == 'bold')
        return val1;
    return val2;
}

它出错了,告诉我“cell”没有函数 getFontWeight()。我怎样才能做到这一点?

最佳答案

您必须将单元格作为字符串传递。 ifBold("A1", 1, 0)

function ifBold(a1Notation, val1, val2) {
    var cell = SpreadsheetApp.getActiveSpreadsheet().getRange(a1Notation);

    if(cell.getFontWeight() == 'bold')
        return val1;
    return val2;
}

如果您传入一个单元格或范围而不将其作为字符串发送,那么它将分别作为字符串或数组接收。并且它无法作为 Range 对象进行处理。有关这方面的更多信息,请参阅以下链接:
http://code.google.com/p/google-apps-script-issues/issues/detail?id=354
How do I pass a cell argument from a spreadsheet to a custum function as a range?

编辑:
要以动态方式编写函数,需要使用内置函数 ROW 和 COLUMN。
=ifBold(行(A1), 列(A1), 1, 0)

function ifBold(row, column, val1, val2) {
    var range = SpreadsheetApp.getActiveSpreadsheet().getDataRange().getCell(row, column);

    if(range.getFontWeight() == 'bold')
        return val1;
    return val2;
}

关于google-apps-script - Google 电子表格脚本 - 如何测试单元格是否为粗体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15811805/

相关文章:

google-apps-script - 如何使用 Javascript 删除工作表中最近 3 天的数据?

google-apps-script - 在 Google 中为授权 API 客户端设置客户端名称

google-apps-script - 如何在谷歌文档表格单元格中对齐文本

google-apps-script - 具有不同首页标题的文档上的 Google Apps 脚本定位标题

pdf - OCR 如何在 Google Drive 中工作?

google-drive-api - 如何复制 Google 云端硬盘文件夹并删除 Google 云端硬盘关联?

google-apps-script - 如何使用 Apps 脚本提取 google 表格中的 pubhtml ID?

google-apps-script - 我无法在谷歌云平台上创建 OAuth 2.0 客户端 ID

javascript - Google Drive API 子列表

javascript - 使用 Google Drive API 上传大文件