2010-12-03 8 views

Respuesta

3

El VBA en Office ha sido el mismo desde hace unos 10 años, sigue utilizando el viejo VB6. Las limitaciones de ese lenguaje son infinitas. Sin estructuras de datos, sin cortocircuitos lógicos, tipos limitados, no orientados a objetos. Google Apps y javascript están presumiblemente a la vanguardia de la tecnología, por lo que no deberían tener muchas de estas limitaciones.

En cuanto a lo que cada uno es capaz de haciendo que el otro no puede, eso es un poco más difícil de afirmar. Yo diría que ambos lenguajes son más o menos completos, así que aunque puede ser más o menos difícil hacer algo en cada idioma, en teoría, un equipo lo suficientemente bueno de programadores podría hacer cualquier cosa en cualquiera de los dos.

Saludos: D

+2

No dudo de la integridad de los idiomas. Estoy más interesado en las diferencias entre los modelos de eventos, la interacción con el entorno, otros archivos y fuentes de datos, etc. El diablo siempre está en los detalles. – notnot

+0

Bien, dado que la oficina de VBA no ve mejoras en ningún lanzamiento, y Google Apps es la última y mejor, la respuesta a la que tendrá un mejor modelo de eventos e interacción será sin duda la última. Mi apuesta es que el nuevo desarrollo será más fácil en Google Apps, pero estarían renunciando a 10 años de experiencia en VBA disponibles en Internet. VBA es más fácil si depende principalmente del material existente. Si fuera una decisión de diseño para una nueva aplicación, diría que Google Apps es la más prometedora, Excel VBA ofrece la mayor compatibilidad. – Alain

+1

He estado buscando en la API y Google Apps simplemente se ve increíblemente superior. http://code.google.com/googleapps/appsscript/service_spreadsheet.html Para simplificar, han usado muchas de las mismas palabras clave, como rango, fórmulaR1C1, etc., pero tienen muchas características adicionales que permiten puede hacer rápida y fácilmente en un solo comando cosas que solían tomar subrutinas completas y soluciones complejas en VBA. – Alain

2

Uno de los principales obstáculos es que Google Apps está basada en web. Esa es la razón por la cual la mayoría de las empresas se avergüenzan ante la idea de que sus propios datos no estén almacenados de forma segura dentro de su propia red. Nunca confiaría en Google ese tipo de datos. Estoy seguro de que tienen conectores de datos seguros, pero ¿por qué correr ese riesgo?

Sure VBA está desactualizado, y no es tan sexy como javascript. Sin embargo, es una gran herramienta para escribir rápidamente aplicaciones pequeñas y llegar rápidamente al usuario. Solo escuchas historias de pesadilla sobre las aplicaciones que fueron creadas por no programadores que usan VBA.

Realmente depende de su proyecto y de lo que desea lograr. Ambos tienen sus limitaciones.

0

Habiendo tomado un rápido vistazo a la API de hoja de cálculo Google Me da la impresión de que su momento algo limitada, por ejemplo:

menos eventos, ningún control de cálculo ?, no hay manera de escribir UDF?

¿Alguien ha intentado usarlo para trabajos serios?

+0

Creo que puedes escribir UDF, pero he jugado con eso durante cinco minutos, así que no tengo limitaciones. – jtolle

0

Por su naturaleza, una hoja de cálculo de Google no podrá hacer muchas cosas que un programa local hará. Ejemplo: una macro que importaría todos los archivos csv en una carpeta especificada por el usuario y los consolidaría.

0

Una cosa que me viene a la mente es que VBA tiene acceso completo a WinAPI a través de las declaraciones 'Declare Function'. La secuencia de comandos de Google Apps no tendrá este acceso. Esto es algo a tener en cuenta si está convirtiendo una hoja de cálculo entre los dos.

5

Estoy en medio de la conversión de un proyecto complejo de VBA a Google Apps Script como un experimento para ver qué se puede hacer y qué no.

En general, el entorno de desarrollo para el script de aplicaciones de google es primitivo y frustrante. El lenguaje es, por supuesto, javaScript, así que si ya lo sabes, entonces tienes una ventaja. El problema es que muchas de las ventajas de javaScript no son realizables ya que no tienes acceso a los elementos DOM, y tampoco tienes un equivalente de formas Excel, excepto a través del objeto UI, que es esencialmente el mismo que forma excel, con el mismo tipo de eventos y objetos etc.

Otro problema es la lentitud general. Debe tener cuidado de cómo se estructura, de modo que minimice las llamadas a los datos de la hoja de cálculo (solucioné esto construyendo una memoria caché de valores) y la escalabilidad es muy cuestionable.

Estoy igualmente en casa con javaScript o VBA, así que dejando el lenguaje a un lado, VBA es más satisfactorio y más rápido de hacer las cosas, aunque hay cada vez más capacidades incorporadas en el script de aplicaciones para hacerlo extremadamente prometedor.

Estoy registrando el progreso de mi migración, y las cosas que encuentro y las batallas para descubrir cómo minimizar el cambio estructural (estoy tratando de ver si puedo encontrar algo que permita el mantenimiento dual en ambos plataformas), por lo que si usted está interesado, puede seguir a lo largo de aquí

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

Bruce

+0

GAS se ha movido a un nuevo nivel de utilidad que realmente aprovecha su 'existencia en la nube'. Ahora puede crear bibliotecas de scripts y compartirlos con sus propios proyectos, o incluso compartirlos públicamente o con grupos específicos. Así es como con algunos ejemplos de la biblioteca: http://excelramblings.blogspot.co.uk/2012/06/managing-libraries-with-google-apps.html – bruce

+0

¿Qué hay de la compatibilidad con DDE? Supongo que las aplicaciones de Google no son compatibles. – User

+0

Bueno, no .. Dde realmente no se traduce en una plataforma basada en la nube. Por supuesto, puede acceder a cualquier otra hoja de una secuencia de comandos y, por supuesto, utilizar desencadenadores y así sucesivamente para tratar con muchos de los casos de uso de tipo dde. ¿De todos modos, dde ya existe en Windows? Pensé que se había retirado en win xp release 2. – bruce

2

estoy tratando de crear gráficos en una hoja de cálculo Google con Google apps Script y es no parece posible ... Es bastante fácil en VBA, tal vez vb6 tiene 10 años pero, por otro lado, puedes hacer todo lo que necesitas con tu hoja de cálculo. Este no es el caso en los guiones de google.