2017-09-19 1 views
1

J'essaie de remplir les cellules avec des liens hypertexte vers des plages dans le script de l'application Google Sheets avec le même résultat que j'aurais obtenu si je l'avais fait dans l'interface graphique. J'ai réussi à créer des hyperliens vers la feuille sous la forme de "gid = ..." avec le ... étant un sheetID. Mais j'ai du mal à obtenir le rangeID qui est utilisé lors de la génération du lien hypertexte dans l'interface graphique, par exemple.Comment créer un lien hypertexte vers Google Script Google Play?

HYPERLINK("#rangeid=1420762593";"'List 4'!F2:F15") 

Est-il possible de créer des liens hypertexte vers des plages dans le script de l'application?

+3

Copie possible de [Créer par programme un lien hypertexte vers une plage nommée dans Sheets] (https://stackoverflow.com/questions/42536797/programatically-build-a-hyperlink-to-a-named-range-in-sheets) –

Répondre

2

Oui, vous pouvez le faire dans App Script. Voici une implémentation très simple où la fonction HYPERLINK est construite et ajoutée à une cellule:

function hyperlinkRange() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet1 = ss.getSheetByName("Sheet1"); 
    var sheet2 = ss.getSheetByName("Sheet2").getSheetId(); 

    sheet1.getRange("A1").setValue('=hyperlink("#gid='+sheet2+'&range='+sheet1.getRange('A1:A10').getA1Notation()+'", "Click to jump to Sheet 2")'); 
} 

Vous pouvez combiner avec des boucles pour définir une valeur de liens entre plusieurs feuilles.