Для моей работы каждый раз, когда мы подключаем нового клиента, нам нужно создавать новую структуру папок на диске Google (одинаковая структура для каждой учетной записи), и в одной папке мы создаем копию таблицы Google, которая у нас есть. Это довольно трудоемко, поэтому я надеялся, что есть способ легко продублировать структуру папок Google Диска и сделать копию листа Google, который мы включаем в одну из папок.
Идеальным результатом было бы простое копирование/дублирование точной структуры папок (очевидно, переименование ее для клиента), а затем уже папка с копией листа Google в правильной папке.
Таким образом, это действительно простая структура - Основная папка (Название бренда) - в этой папке есть еще 2 (Название бренда Live) + (Отредактировано) - Отредактировано остается пустым - внутри (Название бренда Live) будет шаблон листа Google и 1 папка (Изображения) — в папке «Изображения» есть 3 папки (Электронная торговля) + (Образ жизни) + (Модель)
Я надеюсь, что это имеет смысл, но не уверен, как именно это напечатать - это не сложно сделать, но мы постоянно добавляем их, и это кажется действительно повторяющимся - поэтому надеялся, что есть способ автоматизировать некоторые из этих процессов.
Является ли "BrandName" переменной?
В идеальном мире это было бы невероятно — но я не против вручную войти и отредактировать название бренда — это все равно было бы намного быстрее :) Каждый бренд, который мы привносим, получает одну из этих папок.
function createClientAccountFolder(brandName) {
//var brandName=brandName || 'BrandName';
var Template1=DriveApp.getFileById('TemplateId');//You need to add the id of your template here
var acctRoot=DriveApp.getFolderById('Accounts Root Folder Id');//you need to add the id of the root accounts folder here
if (brandName) {
var mainFldr=acctRoot.createFolder(Utilities.formatString('MainFolder-%s',brandName));
var liveFldr=mainFldr.createFolder(Utilities.formatString('%s-Live',brandName));
var editedFldr=mainFldr.createFolder(Utilities.formatString('%s-Edited',brandName));
var imgsFldr=liveFldr.createFolder('Images');
imgsFldr.createFolder('Ecommerce');
imgsFldr.createFolder('LifeStyles');
imgsFldr.createFolder('Model');
Template1.makeCopy(liveFldr);
}else{
SpreadsheetApp.getUi().alert('No Brand Name Specified')
}
}
You could enhance this script with a dialog that allows you to select different folders and possibly even add additional root account folders and the same with templates. But that is considerably more involved than what you have now.
О боже, ты невероятен! Итак, если я хочу, чтобы лист Google, который находится в папке «бренд-живой», был определенным шаблоном, могу ли я скопировать URL-адрес или что-то в это? Извините, если это очевидно, если посмотреть на это - очевидно, это немного выходит за рамки моей зоны комфорта. Еще раз большое спасибо за помощь здесь!
Все, что вам нужно сделать, это поместить идентификатор шаблона в объявление var Template1=.
Вы также должны указать идентификатор папки
Спасибо за ваш вклад, я добавлю немного больше объяснений и ответов
Какую структуру вы хотите и как выяснить имена папок и файлов, составляющих структуру?