首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >强制刷新ImportXML

强制刷新ImportXML
EN

Stack Overflow用户
提问于 2017-06-25 05:05:15
回答 0查看 3.6K关注 0票数 2

我想强制importXML每五分钟自动刷新一次。这是我试图运行的脚本,得到错误"Bad value (第7行,文件"RefreshImports“。我不知道为什么。我在这里找到它:Periodically refresh IMPORTXML() spreadsheet function

代码语言:javascript
复制
function RefreshImports() {
  var lock = LockService.getScriptLock();
  if (!lock.tryLock(5000)) return; // Wait up to 5s for previous 
  refresh to end.

  var id = "[YOUR SPREADSHEET ID]";
  var ss = SpreadsheetApp.openById(id);
  var sheet = ss.getSheetByName("[SHEET NAME]");
  var dataRange = sheet.getDataRange();
  var formulas = dataRange.getFormulas();
  var content = "";
  var now = new Date();
  var time = now.getTime();
  var re = /.*[^a-z0-9]import(?:xml|data|feed|html|range)\(.*/gi;
  var re2 = /((\?|&)(update=[0-9]*))/gi;
  var re3 = /(",)/gi;

  for (var row = 0; row < formulas.length; row++) {
    for (var col = 0; col < formulas[0].length; col++) {
      content = formulas[row][col];
      if (content != "") {
        var match = content.search(re);
        if (match !== -1) {
          // import function is used in this cell
          var updatedContent = content.toString().replace(re2, "$2update=" +
            time);
          if (updatedContent == content) {
            // No querystring exists yet in url
            updatedContent = content.toString().replace(re3, "?update=" + time +
              "$1");
          }
          // Update url in formula with querystring param
          sheet.getRange(row + 1, col + 1).setFormula(updatedContent);
        }
      }
    }
  }

  // Done refresh; release the lock.
  lock.releaseLock();

  // Show last updated time on sheet somewhere
  sheet.getRange(7, 2).setValue("Rates were last updated at " +
    now.toLocaleTimeString())
}

在显示“您的电子表格ID”的代码中,我应该输入电子表格的名称,对吗?我对此一无所知。

这是my sheet

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44740987

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档