Google Spreadsheets的大胆条件格式设置脚本

时间:2013-05-29 16:56:07

标签: google-apps-script google-sheets google-docs gs-conditional-formatting

我想要做的主要是用户想要做的事情here

  

我需要一个脚本来格式化A列中的单元格粗体,但只需要包含单词“Hello”的单元格。

但是我根本不了解Google Apps脚本,而且我需要的答案比我在那里或其他任何地方找到的答案要简单得多。任何帮助表示赞赏;谢谢!

3 个答案:

答案 0 :(得分:9)

首先,从电子表格中打开“工具/脚本编辑器...”。对话框打开后,选择“为...电子表格创建脚本”。您最终会得到一个示例脚本 - 我们将对其进行编辑以执行您想要的操作。

如此处所示更改readRows()功能。更改的是,我们将使用if语句来检查单元格中是否包含一个包含“Hello”的字符串,而不是记录每一行的内容。然后,如果是,我们将加粗单元格文本。

function readRows() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var rows = sheet.getDataRange();
  var numRows = rows.getNumRows();
  var values = rows.getValues();

  // Arrays start at 0, Google Sheets start at 1 - must remember that.
  // We will loop starting at 1, because we want to skip the header in
  // Row 1, aka Array index 0
  for (var i = 1; i <= numRows - 1; i++) {
    var colA = values[i][0];
    if (colA.toString().indexOf('Hello') >= 0) {
      sheet.getRange(i+1,1).setFontWeight("bold");
    }
  }
};

现在,如何运行?该示例已经有一个onOpen()函数,它将设置一个自定义菜单...让我们只更改它在用户界面中显示的文本,如下所示。唯一的变化是在菜单项的“名称”属性中。

function onOpen() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  var entries = [{
    name : "Bold Hello",
    functionName : "readRows"
  }];
  sheet.addMenu("Script Center Menu", entries);
};

保存您的脚本。返回电子表格并重新加载(以使其运行onOpen触发器功能)。当您的菜单出现时,您已经完成了设置。

下一步 - 从“第一个脚本”教程here开始。 Google Apps脚本文档涵盖Apps脚本提供的所有服务,但基本语言结构和对象是javascript,因此您应该熟悉它。只需尝试谷歌搜索“学习javascript”,你会发现大量的教程,书籍和其他资源。

我不能让这更简单。

答案 1 :(得分:0)

在现在不那么新的'新'表中,这可以在没有脚本的情况下实现:

清除格式,选择ColumnA和格式,条件格式...,格式化单元格如果... 文字包含并且:

hello

然后,Formatting style点击 B 完成

这种方式不区分大小写,并且会鼓励OTHELLO等内容。

答案 2 :(得分:-1)

如果您没有尝试设置太多的条件格式设置规则,则可以更轻松地设置颜色,但不是粗体。在Google云端硬盘电子表格中,点击“格式”菜单。底部菜单项应为“条件格式...”;点击那个。这应该会产生一个默认为这样的对话框(我可以用文本绘制它):

                                                                                x
Conditional formatting
[Text contains ◊ ] [                       ]  []Text: [ ]  []Background: [ ]  x
                   e.g. "done" or "Jonathan"
_______________________________________________________________________________

+ Add another rule

[ Save rules ]   [ Cancel ]

在您的示例中,您正在查找包含“Hello”的单元格,因此“Text contains”的默认值将完成此任务。将“Hello”放入文本框,并在“文本”中设置一种格式:“和”背景:“框。这不会给你粗体,但它确实允许颜色。

我看到你的问题可以追溯到半年前,所以对你来说可能为时已晚(如果你严格要求大胆,它无论如何也无法解决问题),但它可能对其他人有帮助。