Макросы Служб Google - как они сравниваются с макросами Office VBA? - PullRequest
11 голосов
/ 03 декабря 2010

Кто-нибудь из вас использует возможности макросов JavaScript в Службах Google, особенно для электронных таблиц?Как сравнить возможности?Есть ли что-то, что Google Apps не может сделать с помощью макросов VBA?

Ответы [ 7 ]

8 голосов
/ 06 марта 2012

Я нахожусь в процессе преобразования сложного проекта из VBA в Google Apps Script в качестве эксперимента, чтобы увидеть, что можно сделать, а что нет.

В общем, среда разработки для скрипта приложений Google примитивна и расстраивает.Язык, конечно, javaScript, так что если вы уже знаете это, то у вас есть преимущество.Проблема, однако, в том, что многие из преимуществ javaScript нереализуемы, поскольку у вас фактически нет доступа к элементам DOM, и при этом у вас нет эквивалента форм Excel - кроме как через объект пользовательского интерфейса, который по сути такой же, какФорма Excel, с такими же событиями, объектами и т. д.

Другая проблема - общая медлительность.Вы должны быть осторожны с тем, как вы структурируете, чтобы минимизировать обращения к данным электронной таблицы (я обошел это путем создания кэша значений), а масштабируемость очень сомнительна.

Я в равной степени дома с javaScript илиVBA, так что оставляя язык в стороне, VBA в настоящее время более полно и быстрее справляется с поставленными задачами, хотя в сценарий приложений встроены расширяющиеся возможности, делающие его чрезвычайно перспективным.

Я регистрирую прогресс моей миграции, а также вещи, с которыми я сталкиваюсь, и сражения, чтобы выяснить, как минимизировать структурные изменения (я пытаюсь выяснить, могу ли я придумать что-то, что позволило бы двойное обслуживаниена обеих платформах), так что если вы заинтересованы, вы можете следовать здесь

http://ramblings.mcpher.com/Home/excelquirks/gooscript

Брюс

3 голосов
/ 06 июня 2012

Я пытаюсь создать диаграммы в электронной таблице Google, используя скрипт приложений Google, и это кажется невозможным ... Это довольно просто в VBA, может быть, vb6 10 лет, но с другой стороны, вы можете делать всечто вам нужно с вашей таблицей.Это не относится к сценариям Google, хотя.

2 голосов
/ 03 декабря 2010

Одним из основных препятствий является то, что Google Apps работает в Интернете. Это было большинство компаний, которые опасаются, что ваши собственные данные не будут надежно храниться в вашей собственной сети. Я бы никогда не доверил Google такие данные. Я уверен, что у них есть безопасные соединители данных, но зачем рисковать?

Конечно, VBA устарела и не так сексуальна, как javascript. Тем не менее, это отличный инструмент для быстрого написания небольших приложений и быстрого предоставления его пользователю. Вы действительно слышите только кошмарные истории о приложениях, которые были созданы непрограммистами, использующими VBA.

Это действительно зависит от вашего проекта и того, чего вы хотите достичь. Оба имеют свои ограничения.

1 голос
/ 03 декабря 2010

VBA в Office остается неизменной уже около 10 лет, все еще используя старый VB6. Ограничения этого языка бесконечны. Нет структур данных, нет логических коротких замыканий, ограниченные типы, не объектно-ориентированные. Службы Google и javascript, по-видимому, находятся на переднем крае технологий, поэтому в них не должно быть многих из этих ограничений.

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

Приветствия: D

0 голосов
/ 10 мая 2011

Одна вещь, которая приходит на ум, это то, что VBA имеет полный доступ к WinAPI через объявления «Объявление функции».Скрипт Google Apps не будет иметь такого доступа.Это то, на что нужно обратить внимание, если вы конвертируете электронную таблицу между ними.

0 голосов
/ 04 декабря 2010

По своей природе электронная таблица Google не сможет выполнять многие действия локальной программы. Пример: макрос, который импортирует все файлы CSV в указанную пользователем папку и объединяет их.

0 голосов
/ 04 декабря 2010

Бегло взглянув на API электронных таблиц Google, у меня сложилось впечатление, что в настоящее время он несколько ограничен, например:

меньше событий, нет контроля над вычислениями? Нет способа написания пользовательских функций?

Кто-нибудь пробовал использовать его для серьезной работы?

...