Контроль версий макросов электронных таблиц

Итак, некоторое время назад моя невеста попросила меня помочь ей создать электронную таблицу для управления ее новым небольшим бизнесом. Выяснилось, что на самом деле она искала полноценную CRM. Будучи хорошим будущим мужем, я решил, что смогу решить эту проблему с помощью макросов Google Sheets. Примерно через две недели у меня закончилась базовая обработка запасов, но проект стал намного больше, чем я ожидал. Встроенная в браузер Syder IDE и базовое управление версиями больше не помогают.

Теперь мой вопрос: я хотел бы начать управлять этим проектом в gitHub, но я не могу найти изящный способ сделать это. Я нашел это сообщение в блоге о файлах сценариев автономных приложений, но я не могу найти свои файлы макросов (.gs) на своем Google Диске.

Мои вопросы: Где находятся эти файлы? Есть ли способ использовать, например. eclipse для разработки моих макросов и сохранения их обратно в электронную таблицу, а также с использованием git или другого контроля версий?

Изменить. На данный момент получено несколько отличных отзывов, но, по-видимому, облачные инструменты для Eclipse не позволяют редактировать сценарии приложений так же, как это делает подключаемый модуль Google для Eclipse, см. здесь.


person agentroadkill    schedule 20.08.2017    source источник
comment
Если ваш сценарий привязан к электронной таблице, он не будет отображаться как отдельный файл. Чтобы создать отдельный файл .gs, перейдите на Google Диск › Создать › Сценарий Google Apps (если этот параметр отсутствует, нажмите «Подключить другие приложения» и найдите «Скрипт Google Apps»).   -  person Anton Dementiev    schedule 20.08.2017


Ответы (2)


После того, как вы закончите перенос своего кода в автономный скрипт в соответствии с инструкциями Мишель, вы можете проверить это расширение Chrome:

Скрипт Google Apps Github Assistant

Он интегрируется с графическим интерфейсом Apps Script для отправки и извлечения исходного кода в github и из него. Это довольно удобный инструмент.

P.S. Расширение Chrome также работает со связанными скриптами, но я обнаружил, что код Apps Script легче повторно использовать, когда он является автономным скриптом.

person TheAddonDepot    schedule 20.08.2017

Как сказал Антон, невозможно получить доступ к файлу сценария, привязанному к электронной таблице, за пределами интерфейса Google Sheets. Вы можете скопировать и вставить весь код в новый автономный файл Google Script. Однако для этого, скорее всего, потребуются некоторые изменения кода, описанные ниже.

Вызовы SpreadsheetApp.getActiveSpreadsheet нужно будет заменить на SpreadsheetApp.openById с жестко закодированным идентификатором электронной таблицы. Другие методы getActive*, такие как getActiveSheet и getActiveRange, могут быть вызваны для этого объекта электронной таблицы вместо непосредственно SpreadsheetApp.

Любые простые триггеры, такие как onOpen или onEdit, должны быть заменены устанавливаемыми триггерами, которые устанавливаются в электронной таблице с помощью автономного сценария. Итак, в скрипте должна быть функция установки, скажем, onOpen, которую нужно будет один раз выполнить вручную. См. пример кода для установки триггера.

person Community    schedule 20.08.2017