2017-06-24 1 views
1

Je souhaite forcer un importXML à s'actualiser automatiquement toutes les cinq minutes. .. Voici le script que je suis en train de courir et d'obtenir l'erreur « valeur Bad (ligne 7, fichier « RefreshImports » Je ne sais pas pourquoi je l'ai trouvé ici: Periodically refresh IMPORTXML() spreadsheet functionActualisation de la force 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()) 
} 

Dans le code où il est dit « [VOTRE tABLEUR ID] », je suis d'entrer le nom de ma feuille de calcul correcte? Je ne sais rien à ce sujet.

est ici my sheet.

+1

Nous avons besoin de plus de détails sur ce que vous faites, pas seulement quelques o liens. Bien que les liens puissent être utiles, la question devrait être autonome. –

+0

Ok, je ne suis pas sûr de ce dont vous aurez besoin mais je vais essayer de le demander de cette façon: Pourquoi le script suivant ne fonctionnera-t-il pas pour moi quand je le collerai dans l'éditeur de script en feuilles? –

+0

Je ne sais pas comment publier le code ici comme dans le fil que j'ai lié. Où est l'éditeur de texte? –

Répondre

0

Sur [YOUR SPREADSHEET ID] vous devez ajouter l'identifiant de feuille de calcul, pas est nom

T il id tableur pour

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

est

1Xhgfr3z4EwPtjS4aahytU_3TOVxjNb8JvHo88h3nZaE 
+0

Tks et où puis-je trouver "Nom de la feuille"? –

+0

Ceci est maintenant résolu. TKS –