【问题标题】:Auto-populating a Google Docs table from a Google Sheet, based on info in the table根据表格中的信息从 Google 表格自动填充 Google 文档表格
【发布时间】:2021-07-30 16:22:13
【问题描述】:

我有一个需要反复填写信息的 Google 文档,我想让它更快。它充满了有关计算机的信息。我想做它,这样我就可以在第一列中输入我公司的资产标签#,脚本将转到我的 Google 表格并获取序列号以及与该资产标签相对应的品牌和型号,然后自动填充其他 3 Google Doc 表的列。

这是我当前用于查找资产标签信息的脚本。

function searchColumn(searchTag) {
    var sourceSheet, targetValues;
    sourceSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("salesforce_data");

    var column = 27; // asset tag column index

    targetValues = sourceSheet.getRange(2, column, sourceSheet.getLastRow()).getValues();
    //Logger.log(targetValues);

    var matchRow = [];
    const rows = sourceSheet.getDataRange().getValues();
    //Logger.log(rows);

    targetValues.forEach(function(value, index) {
      //Logger.log(value);
      if (value[0] === searchTag) {
        matchRow = rows[index+1];
      }
    });

    let info = []; // asset, serial, manufacturer, model
    info[0] = matchRow[26];
    info[1] = matchRow[23];
    info[2] = matchRow[21];
    info[3] = matchRow[22];
    Logger.log(info);

    return info;
}

这是我的桌子。 Asset Tag, Serial, Manufacturer, Model table

【问题讨论】:

  • 对不起,我没明白这个问题。你的searchColumn() 有问题吗?如何调用此函数来更新您的 Docs 表?请提供完整的代码、示例文档(表格和文档)并说明当前问题。
  • @RonM,我不确定如何让它自动填充文档表。我写了这个,但它显然不完整我只是不知道如何进行
  • ` function fillDoc(row) { const doc = DocumentApp.openById('1eEGG_yyR4h6l1oCq5z0IOme2SNgBQmRGqJuiBAH1-b0');常量体 = doc.getBody();常量表 = body.getElement();记录器.log(表); //body.appendTableRow(row); }` 编辑:代码未格式化,不确定原因,抱歉!

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


【解决方案1】:

在你的情况下,这个matchRow = rows[index+1] 应该是这个matchRow = rows[index+2]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-21
    • 1970-01-01
    • 2021-10-22
    • 1970-01-01
    相关资源
    最近更新 更多