Есть ли способ использовать скрипт, чтобы удалить некоторые вещи в Google Do c после того, как Google формы заполняет данные таблицы? - PullRequest
0 голосов
/ 29 февраля 2020

У меня есть Google Do c, который я использую в качестве шаблона, и он будет заполнен результатами данных форм Google (которые заполняются в электронной таблице). Пользователь будет отмечать элементы в различных списках в форме, и эти элементы будут перенесены в шаблон Google Do c. В шаблоне do c я хочу, чтобы скрипт имел возможность удалять заголовок / начальную точку маркера / пробел, связанный с любыми разделами, в которых не отмечены какие-либо элементы, просто для очистки.

Возможно ли это? Если так, то как бы я go сделал это или какие термины мне нужно было бы найти в Google?

Спасибо за любую помощь, которую вы можете оказать!

Ответы [ 2 ]

1 голос
/ 29 февраля 2020

Как вы, возможно, уже поняли, что Google Apps Script имеет множество методов и опций для работы, он почти аналогичен javascript.

Возможно, проблема, связанная с этим сценарием первый, так что App Script уже предоставил множество опций, чтобы покрыть многие вещи.

Существуют встроенные функции, которые могут выполняться при загрузке вашего листа, и вы можете запланировать запуск сценария на некоторых c укажите время дня и / или ночи, используя триггеры в интерфейсе редактора скриптов в меню «Правка».

Это зависит от вашей логики c, когда скрипт должен быть выполнен. Пример сценария удаления выглядит следующим образом:

    function removeBlankRows(docId) {

    var document = docId ?
        DocumentApp.openById(docId) :
        DocumentApp.getActiveDocument();

    var body = document.getBody();
    var search = null;
    var tables = [];

    // Extract all the tables inside the Google Document
    while (search = body.findElement(DocumentApp.ElementType.TABLE, search)) {
        tables.push(search.getElement().asTable());
    }

    tables.forEach(function (table) {
        var rows = table.getNumRows();
        // Iterate through each row of the table
        for (var r = rows - 1; r >= 0; r--) {
            // If the table row contains no text, delete it
            if (table.getRow(r).getText().replace(/s/g, "") === "") {
                table.removeRow(r);
            }
        }
    });
    document.saveAndClose();
    }

Можно также использовать метод removeChild .

1 голос
/ 29 февраля 2020
...