Google Script - Si tableaux est vide alors supprimer le slide
Bonjour,
Pouvez vous m'aider à modifier le script actuel afin que celui-ci supprime le slide si le tableau est vide (à partir de la ligne 2 du tableau sans l'en tête du tableau)?
Actuellement le script, permet de supprimer les slides qui sont cachés
L'accès au Google slide où se trouvant le slide:
https://docs.google.com/presentation/d/1QQUJP1Q2OBTuvScjxJAgktxMO8_2XWmystRZryoxKEg/edit?usp=sharing
Merci pour votre aide.
Cordialement
Bonjour,
le script actuel supprime les slides 3 et 4 et 6 car ils SONT identifiés comme masqués.
Je voudrais que le script supprime les slides masqués (3 & 4 & 6) mais aussi le slide où se trouve les tableaux vides (vide à partir de la 2nde ligne du tableau).
Dans mon exemple, il faudrait que le script supprime aussi le slide 2.
Merci pour le coup de main
Bonjour,
finalement j'ai trouvé la solution.
Je vous partage le code afin de cloturer le sujet.
Ce code permet lorsqu'il est lancé à partir de google slide d'effectuer:
1- des boucles à travers toutes les diapositives recherchant des tableaux
2- Sélectionner les tableaux qui sont vides à partir de la ligne 2 de chacun des tableaux (sans prendre en compte l'en tete)
3- Cacher ce slide où ce tableau est identifié vide
4- Puis Supprimer tous les slides qui sont marqués comme diapositive cachée
Voici le code à coller dans Google slide:
function hideSlidesWithEmptyTables() {
var presentation = SlidesApp.getActivePresentation();
var slides = presentation.getSlides();
// Parcourir chaque diapositive
for (var i = 0; i < slides.length; i++) {
var slide = slides[i];
var tables = slide.getTables();
var hideSlide = false;
// Vérifier chaque tableau sur la diapositive
for (var j = 0; j < tables.length; j++) {
var table = tables[j];
var numRows = table.getNumRows();
var numColumns = table.getNumColumns();
// Parcourir les cellules en dehors de l'en-tête
var isEmptyTable = true;
for (var row = 1; row < numRows; row++) { // Commencer à la ligne 2 pour ignorer l'en-tête
for (var col = 0; col < numColumns; col++) {
var cellText = table.getCell(row, col).getText().asString().trim();
if (cellText !== "") {
isEmptyTable = false;
break;
}
}
if (!isEmptyTable) {
break;
}
}
// Si le tableau est vide (en dehors de l'en-tête), marquer la diapositive pour être cachée
if (isEmptyTable) {
hideSlide = true;
}
}
// Cacher la diapositive si nécessaire
if (hideSlide) {
slide.setSkipped(true);
}
}
//Supprimer les slides qui sont cachés
var slides = presentation.getSlides();
for (var i = slides.length - 1; i >= 0; i--) {
if (slides[i].isSkipped()) {
slides[i].remove()
}
}
}Bien à vous !
