在Google文档SpreadSheets中查找和替换脚本

时间:2013-08-16 12:36:39

标签: image google-apps-script google-sheets

我有google电子表格,其中包含指向图片的直接链接(jpg和png):

https://docs.google.com/spreadsheet/ccc?key=0AoPGWppcjtzhdDh6MW1QNVJhSHlwVTlfRnRtd0pvNGc&usp=sharing

我想增加从“第二行”到100px的行高,并在那里渲染图像。

可以通过Find& Replace:

进行
  1. 查找jpg并替换为jpg", 1)
  2. 查找http://img并替换为=image("http://img)
  3. 选择行并缩放它们
  4. 和png image-urls相同。

    观看此截屏视频http://www.screenr.com/S0RH

    是否可以通过脚本自动化它?我想是的!它必须非常简单,但我google了很多但没有找到解决方案。我不能自己做,因为不知道编码。有人会帮忙制作这个剧本吗?

2 个答案:

答案 0 :(得分:0)

如果您对语言(J​​avascript)有基本的了解,知道如何使用开发环境并阅读API文档,那么执行您要求的功能很简单。

例如,请参阅此脚本。它已被添加到您的共享电子表格中,因此您也可以在脚本编辑器中查看它(并运行它)。

/**
 * Scan column A, looking for images that have been inserted using
 * =image() function. For any row with an image, set the row height
 * to 100 pixels.
 */
function resizeImageRows() {
  var sheet = SpreadsheetApp.getActiveSheet();  // Get a handle on the sheet
  var HEADERS = 1;                              // Number of header rows at top
  var firstRow = HEADERS + 1;                   // First row with data
  var lastRow = sheet.getLastRow();             // Last row with data
  var imageRange = sheet.getRange(1, 1, lastRow, 1);  // Column A

  // Get all formulas from Column A, without Headers
  var formulas = imageRange.getFormulas().slice(HEADERS);

  // Look for image() formulas, and set the row height.
  for (var i = 0; i< formulas.length; i++) {
    if (formulas[i][0].indexOf('image') !== -1) {
      sheet.setRowHeight(i+firstRow, 100); // Set height to 100 pixels
    }
  }
}

答案 1 :(得分:0)

您可以使用编辑菜单下的查找和替换功能完全执行此操作,只需确保单击“在公式中搜索”,它将在公式中找到并替换。