2017-06-24 39 views
1

importXMLを5分ごとに強制的に自動更新するようにしたい。 。それが言うコードでPeriodically refresh IMPORTXML() spreadsheet function強制的に更新するImportXML

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()) 
} 

を:これは私がここでそれを発見した理由を私は知らない私が実行しようと、エラー「不正な値(7行、ファイル 『RefreshImports』を取得していますスクリプトです「[スプレッドシートのID]」、私は正しい私のスプレッドシートの名前を入力するのですか?私はこのことについて何も知りません。

ここmy sheetです。

+1

です。リンクが役立つかもしれないが、質問は自己完結型でなければならない。 –

+0

あなたが必要とするものはわかりませんが、私はこの方法で尋ねます:なぜ、スクリプトエディタをシートに貼り付けると、次のスクリプトが実行されませんか? –

+0

リンク先のスレッドのようにコードを投稿する方法がわかりません。テキストエディタはどこですか? –

答えて

0

[YOUR SPREADSHEET ID]であなたはそれがだ、スプレッドシートIDをない追加する必要があります

T彼

https://docs.google.com/spreadsheets/d/1Xhgfr3z4EwPtjS4aahytU_3TOVxjNb8JvHo88h3nZaE/edit#gid=14522064

のためのスプレッドシートidは私たちはあなたのリンクOだけのカップルではなく、何をしているかの詳細が必要

1Xhgfr3z4EwPtjS4aahytU_3TOVxjNb8JvHo88h3nZaE 
+0

Tksと "シート名"はどこにありますか? –

+0

これは解決されました。 TKS –

関連する問題