Як експортувати / імпортувати сценарій Google Apps як файл у нову електронну таблицю?


13

Я боюся, що це може мати очевидну відповідь, але я стукнув головою над цим і не можу його знайти!

Створюючи нову електронну таблицю, ми можемо легко створити сценарій всередині неї. Мені подобається називати це макросом . Але коли я створюю ще більшу електронну таблицю, я не можу знайти хороший спосіб отримати свій макрос !

Я просто хочу зберегти файл і повторно використовувати його за бажанням, не потребуючи копіювання та вставки та перейменування. Моя мета тут - це спільний доступ до сценарію, і той, хто збирається ним користуватися, не є програмістом. Це повинно бути справді просто!

Будь-які уявлення?

Відповіді:


9

"Бібліотечне рішення" - це насправді найкраща ставка. Це не так складно, як це звучить, але це потребує трохи разової роботи.

Спочатку ви створюєте свій скрипт в одній електронній таблиці (назвемо це " Основна електронна таблиця").

Збережіть версію сценарію, натиснувши Файл → Керування версіями в редакторі сценаріїв, і дайте назву версії:

Скріншот діалогового вікна "Керування версіями"

Закрийте це діалогове вікно та перейдіть до Файл → Властивості проекту . Тут знайдіть ключ Project , який є начебто випадковою комбінацією символів:

Знімок екрана діалогового вікна Project Proerties

Скопіюйте або візьміть на замітку ключ проекту.

Коли ви створили нову електронну таблицю і хочете повторно використовувати скрипт, перейдіть до редактора сценаріїв і натисніть Ресурси → Бібліотеки (якщо ви не зберегли новий сценарій, вам буде запропоновано зробити це зараз).

У полі Знайти бібліотеку вставте ключ проекту з головного проекту (1) та натисніть кнопку Вибрати (2):

Знімок екрана діалогового вікна "Керування бібліотеками"

Це буде заповнити список з вашим Майстром сценарієм. Дайте йому більш дружнє ім’я (3) та увімкніть режим розробки (4) (це дозволить налагодити бібліотеку). Виберіть останню версію сценарію (5).

Тепер ви можете використовувати функції з включеної бібліотеки у новому сценарії. Просто додайте будь-які імена функцій до імені, яке ви вказали в (3), так що якщо ви визначили свою бібліотеку як MyLibraryі ваша бібліотека має функцію, myFunctionяку ви хочете зателефонувати, ви телефонуєте MyLibrary.myFunction().

Коли ви хочете оновити свою бібліотеку, ви просто зробите це і збережіть файл. Будь-які сценарії, які залежать від бібліотеки, побачать оновлений код бібліотеки.

Я просто спробував цю вправу як доказ:

  • Налаштування бібліотеки з функцією: function myFunction() {return "Foo"}
  • Включіть його в інший сценарій, ідентифікуючи бібліотеку як MyLibrary
  • Викликана функція бібліотеки за допомогою Logger.log(MyLibrary.myFunction)
  • Відобразиться журнал Foo
  • Відредагував бібліотеку: function myFunction() {return "Bar"}
  • Повторно запустивши скрипт, що включає, тепер відображається журнал Bar

Тож це дійсно досить просто після початкової установки. Дивіться цю папку на моєму Диску Google для реального прикладу.

Також дивіться документацію Google для бібліотек .


2
Я думаю, що я не досить зрозумів у своєму питанні (у мене було посилання, що показує, як робити бібліотеки, я прочитав усі свої посилання та багато іншого. Я думаю, що я прочитав усі документи), і я пропустив вирішальне значення інформація, вибачте з цього приводу. Я знаю, що це не " все так складно ", але головна моя мета тут - поділитися сценарієм, і це досить складно, з ким я б поділився. Простий повинен бути простим. Я відредагую питання. Але дякую за все врахування! Крім того, я не бачу нічого у вашій папці. Всього 2 порожні файли. Навіть після їх відкриття.
Крегокс

Ах, я повністю пропустив ваше посилання на вже чудову відповідь @ JacobJanTuinstra про те, як створити бібліотеки. Моє ліжко. Ви читали документи, без сумніву. Але я не впевнений, що я розумію, що ви маєте на увазі під акцією . Ви хочете поділитися своїм сценарієм з іншим користувачем?
Відар С. Рамдал

Щодо файлів у моїй папці, так, вони здаються порожніми. Але це тому , що електронні таблиці є порожній - ні для них нічого , крім сценаріїв. Для використання моїх електронних таблиць необхідно натиснути посилання вище, натиснути один із (порожніх) файлів, потім відкрити , а потім Файл -> Зробити копію , щоб у вас була копія на вашому власному Диску Google. Це також слід скопіювати уздовж доданих файлів скриптів.
Відар С. Рамдал

Ок, після створення копії я нарешті побачив сценарій. Досі нічого простого там немає. Так, поділіться з іншим користувачем. Копіювати та вставляти працює чудово, і це досить просто, але це занадто криво. Мені все-таки доведеться вставити файл і копіювати з нього іншого користувача! Я навряд чи можу зрозуміти, чому ми не можемо використовувати файли ...
cregox

2

Коротка відповідь

Публікуйте свій скрипт як доповнення. Майте на увазі, що ви можете зробити їх публічним, незалежним або приватним, щоб поділитися з групою Google.

Пояснення

Галерея сценаріїв була замінена додатками, які були додані у 2014 році.

Щоб опублікувати надбудову, вам слід сплатити 5 доларів США, щоб мати змогу опублікувати надбудову у Веб-магазині Chrome. Якщо ви зробите надбудову загальнодоступною, її слід переглянути Google перед тим, як зробити доступною для публіки, але якщо ви зробите приватне обмеження для групи Google, воно буде доступне через кілька хвилин.

Альтернативою публікації додатку є використання тестової функції надбудови, але це має деякі обмеження, такі, що неможливо "перевірити" тригери, які залежно від вашого сценарію можуть бути суттєвим обмеженням чи ні.

Використовувати надбудову краще, ніж використовувати бібліотеку, оскільки бібліотеки можуть сповільнити вашу електронну таблицю, але спеціально тому, що з точки зору кінцевого користувача простіше використовувати додавання та використання, ніж додавання проекту сценарію, додати код, необхідний для виклику бібліотеки та додавання самої бібліотеки.

Перевагою для творця надбудови може стати той факт, що користувачі надбудови не зможуть переглядати код надбудови із самого додатка.

З іншого боку, для цього потрібні деякі зображення із специфічними вимогами до формату та розміру, які можна вважати занадто складними для певних випадків використання, і ми, нарешті, можемо вважати, що робити копію / вставити наш скрипт або зробити копію електронної таблиці (документ / форма / презентація) - це просто рішення для тих випадків використання.

Список літератури


2

Ви повинні спробувати Google Застібка , який говорить про

Ідентифікатор диска батьківського файлу, до якого пов'язаний створений проект сценарію

Не намагався, але схоже, є команди для отримання коду сценарію проекту, створення та оновлення:

  • Витягніть: вилучає проект із наданого або збереженого ідентифікатора сценарію. Оновлення локальних файлів за допомогою програми Script Script
  • Push: Force записує всі локальні файли на сервер управління скриптами
  • Створити: Створює новий проект сценарію (з необов'язковим батьківським ідентифікатором проекту. Ідентифікатор накопичувача батьківського файлу, до якого створюється проект сценарію)

2
дякую за цей внесок, Массоне! я вважаю це досить цікавим, навіть якщо незабаром я не зможу його перевірити. :) У будь-якому випадку, ви могли б детальніше зупинитися на тому, як вирішити питання за допомогою застібки? хороша ідея зберігати відповіді самостійно для подальшої довідки, на випадок, коли посилання розриваються або змінюються суттєво.
Крегокс

1

На півдорозі - завантажити файли зі свого проекту.

Рішення №1

Я знайшов інструмент для досягнення цього:

http://googleappsscriptexport.trototype.com/ від kerem tiryaki

  • Ви повинні надати доступ до свого диска
  • щоб знайти скрипт, вам доведеться скопіювати ключ сценарію:

введіть тут опис зображення

Недоліки

GoogleAppsScriptExporterForAll тепер має доступ до вашого облікового запису Google (потрібно видалити його вручну)

Рішення №2

Я також використовую це доповнення для інтеграції Git-Hub та скриптів Google Sheets: https://chrome.google.com/webstore/detail/google-apps-script-github/lfjcgcmkmjjlieihflfhjopckgpelofo

Після встановлення цього додатка вам потрібно:

  1. Увійдіть і натисніть свій код на GitHub (кнопка з’явиться в редакторі)
  2. За потреби завантажте свій код з GitHub.
  3. Ви також можете витягнути проект із GitHub (середній користувач цього не зробить).

Недоліки

Користувачеві залишається відкрити редактор сценаріїв і скопіювати код.

Переваги

  1. Швидка реалізація. Не потрібно грати з додатками
  2. Користувачеві легко скопіювати один сценарій, а не кілька файлів.

Наступні кроки

Наступними кроками для мене будуть:

  1. Об’єднайте мої *.jsфайли в один рядок. Успішно використано https://jscompress.com/ =)
  2. Спільний доступ до одного файлу з користувачами (розміщення сценарію в GitHub або надсилання електронною поштою безпосередньо)
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.