Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Скрипт создания копии файла Google spreadsheet - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Скрипт создания копии файла Google spreadsheet
Nigle10 Дата: Среда, 07.06.2023, 19:00 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 20% ±

2019
Добрый день!
Есть файл, который лежит у меня на гугл диске и я являюсь его владельцем. Файл доступен для редактирования всем по ссылке (однако некоторые листы/ячейки в нем защищены от редактирования). Мне необходимо реализовать скрипт, в котором по нажатию кнопки (условно кнопка "Начать") любым пользователем (не мной, в т.ч. неавторизованном в гугле) создавалась копия файла на моем диске и чтобы ВЛАДЕЛЕЦ этой копии был Я с теми же настройками общего доступа что и исходный файл.
[vba]
Код
/**
* Open the url in a new tab
* @param {string} url
*/
function myFunction() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();  
  var a1 = ss.getRange('D4').getValue();
  var dt = Utilities.formatDate(new Date(), 'Russia/Moscow + 0300','MMMM dd yyyy');
  let urlCell = ss.getRange("b12");
  var targetFolder = DriveApp.getFolderById('1Q7gpZ2_dWJNInt43V-0MIu599qg7CMGV');
  let newDoc = DriveApp.getFileById('1M5NKzgDPhWS0P181e1yO-SSX_9He4_OjhlD9ASWAPhE').makeCopy(a1 + ' ' + dt,targetFolder);
  var newss = newDoc.getUrl();
  Logger.log(newDoc.getUrl());
  urlCell.setValue(newDoc.getUrl())
  return newss;
}
[/vba]
Вот так это у меня реализовано, но пытаясь запустить скрипт из-под другой учетной записи: он у меня не срабатывает, файл создается, но владелец файла - другой аккаунт
Как это можно поправить?
 
Ответить
СообщениеДобрый день!
Есть файл, который лежит у меня на гугл диске и я являюсь его владельцем. Файл доступен для редактирования всем по ссылке (однако некоторые листы/ячейки в нем защищены от редактирования). Мне необходимо реализовать скрипт, в котором по нажатию кнопки (условно кнопка "Начать") любым пользователем (не мной, в т.ч. неавторизованном в гугле) создавалась копия файла на моем диске и чтобы ВЛАДЕЛЕЦ этой копии был Я с теми же настройками общего доступа что и исходный файл.
[vba]
Код
/**
* Open the url in a new tab
* @param {string} url
*/
function myFunction() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();  
  var a1 = ss.getRange('D4').getValue();
  var dt = Utilities.formatDate(new Date(), 'Russia/Moscow + 0300','MMMM dd yyyy');
  let urlCell = ss.getRange("b12");
  var targetFolder = DriveApp.getFolderById('1Q7gpZ2_dWJNInt43V-0MIu599qg7CMGV');
  let newDoc = DriveApp.getFileById('1M5NKzgDPhWS0P181e1yO-SSX_9He4_OjhlD9ASWAPhE').makeCopy(a1 + ' ' + dt,targetFolder);
  var newss = newDoc.getUrl();
  Logger.log(newDoc.getUrl());
  urlCell.setValue(newDoc.getUrl())
  return newss;
}
[/vba]
Вот так это у меня реализовано, но пытаясь запустить скрипт из-под другой учетной записи: он у меня не срабатывает, файл создается, но владелец файла - другой аккаунт
Как это можно поправить?

Автор - Nigle10
Дата добавления - 07.06.2023 в 19:00
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!