Макросы Google Apps - как они сравниваются с макросами Office VBA?

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

8 ответов

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

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

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


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

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

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

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

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

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

Брюс


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


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

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

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


См. http://www.javascript-spreadsheet-programming.com/2013/05/vba-and-google-apps-script-side-by-side.html. Существует ссылка на PDF там с большим количеством примеров того, как делать те же задачи в GAS и VBA. Он начал меня с GAS.


Взяв быстрый взгляд на API Google Spreadsheet, я получаю впечатление, что его в настоящее время несколько ограничено, например:

меньше событий, нет контроля над расчетом?, нет способа писать UDF?

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


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


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

licensed under cc by-sa 3.0 with attribution.