Отслеживание количества копий, сделанных из электронной таблицы Google - PullRequest
0 голосов
/ 14 декабря 2018

У меня есть шаблон листа, из которого пользователи будут делать копии.Я хочу отслеживать, сколько копий было сделано.Было бы здорово, если бы я мог получить ссылку на каждую сделанную копию.

Есть ли способ сделать это с помощью скриптов приложения?

1 Ответ

0 голосов
/ 14 декабря 2018

Я использую измененную версию кода ниже, чтобы делать и отслеживать копии постоянно.

Есть пункт меню, который они могут использовать для копирования электронной таблицы.Этот код вставляет URL новой электронной таблицы в ваш собственный лист отслеживания.Хотя нет гарантии, что они будут использовать этот метод, даже если вы скажете им.Пользователи почти никогда не делают это так, как вы хотите.

Используйте формулу на листе, чтобы подсчитать количество URL-адресов, чтобы получить количество копий.

Чтобы приведенный ниже код работал, вы будете работатьнеобходимо установить триггер для функции open, сработавшей On open.Пользователь должен будет предоставить доступ к сценарию при первом его использовании.

Вы также можете включить смену владельца, если хотите получить полный контроль над всеми листами.

function open() {

    SpreadsheetApp
        .getUi()
        .createMenu('Your-menu-name')
        .addItem('Make a copy', 'copy')
        .addToUi();
}

function copy() {

    var tracker = SpreadsheetApp.openById('tracker-id-here');
    var template = DriveApp.getFileById('template-id-here');

    var folder = DriveApp.getRootFolder();
    //their root folder

    //var folder = DriveApp.getFolderById('folder-id');
    //use the above line instead if you want to create them in specific folders

    var filename = template.getName();

    var newFile = template.makeCopy(filename, folder);

    var url = newFile.getUrl();

    //newFile.setOwner('email-address-here');
    //use the line above if you want to set an owner who is not the user

    tracker.getSheetByName('your-sheet-name').appendRow([filename, url]);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...