Bij het werken met Google Sheets kun je gedetailleerde, gebruikersspecifieke regels definiëren voor het bewerken van werkbladen, kolommen en rijen binnen een spreadsheet. Helaas is er geen manier om leesrechten te beperken. Dit zou in veel situaties erg handig zijn, bijvoorbeeld om je klanten alleen de tickets te tonen die voor hen relevant zijn, of je medewerkers alleen de projecten waaraan ze werken.
Een mogelijke oplossing is het maken van een zogenaamd hoofdbestand en het gebruik van IMPORTRANGE om geselecteerde gegevens daaruit in één richting te benaderen. Helaas brengt dit veel handmatig werk met zich mee: het aanmaken van nieuwe bestanden, het toewijzen van bestandsrechten, het ontwikkelen en implementeren van de IMPORTRANGE-formule, het accepteren van machtigingen en het instellen van de opmaak. Als de structuur of opmaak verandert, moet dit vervolgens handmatig voor elk afzonderlijk bestand worden gedaan.
Het volgende Google Apps-script doet dit automatisch. Als u de methode init () eenmaal in het hoofdblad uitvoert, worden alle slaafbladen automatisch gemaakt, worden rechten toegewezen en worden formules en opmaak ingesteld. Als gegevens in het masterblad veranderen, worden deze automatisch gespiegeld in het slaafblad. Als de structuur van het hoofdblad verandert, voer dan simpelweg init () opnieuw uit (vorige bladen worden automatisch bijgewerkt).
82ba709df04366e65cb3a42f84f19631