web-dev-qa-db-fra.com

Comment utiliser les fonctions de Google dans un script de tableur?

Lorsque j'utilise une fonction telle que =importXml("http://www.google.com", "//a/@href") dans une cellule Google Spreadsheet, cela fonctionne parfaitement. Cependant, lorsque j'essaie d'utiliser la même fonction dans un script, un message d'erreur s'affiche.

Mon script a le code suivant:

function myFunction() {
  return importXml("http://www.google.com", "//a/@href");
}​

Lorsque j'appelle la fonction depuis une cellule en utilisant =myFunction(), j'obtiens le message d'erreur suivant:

error: ReferenceError: "importXml" n'est pas défini.

Comment utiliser la fonction importXml dans un script?

4
Senseful

En plus de la remarque de Barry, voici un lien expliquant l’utilisation de XML en combinaison avec Google Apps Script (GAS): XML avec GAS

Vous pouvez utiliser la formule importXML dans GAS, mais vous devez l'adresser sous la forme d'une formule:

function myXML() {
  var cell = SpreadsheetApp.getActiveSpreadsheet()
    .getActiveSheet().getActiveCell();
  cell.setFormula('=importXml("http://www.google.com", "//a/@href")');  
}

Référence: setFormula

3
Jacob Jan Tuinstra

Cela n'est pas possible car ImportXML est une fonction de feuille de calcul et n'est pas disponible dans l'éditeur de script.

Vous devez écrire un script pour extraire le code XML de l'URL, puis l'analyser manuellement.

Qu'est-ce que vous essayez exactement de réaliser? (Je suppose que les éléments Google Url et href sont un exemple?)

2
codingbadger