Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google应用程序宏-它们与Office VBA宏相比如何?_Vba_Google Apps Script_Ms Office_Google Apps - Fatal编程技术网

Google应用程序宏-它们与Office VBA宏相比如何?

Google应用程序宏-它们与Office VBA宏相比如何?,vba,google-apps-script,ms-office,google-apps,Vba,Google Apps Script,Ms Office,Google Apps,你们有没有人使用谷歌应用程序的javascript宏功能,特别是电子表格?这些能力如何比较?有什么是谷歌应用程序做不到的,可以用VBA宏来完成吗?Office中的VBA已经保持了大约10年,仍然使用旧的VB6。这种语言的局限性是无穷的。无数据结构,无逻辑短路,有限类型,非面向对象。谷歌应用程序和javascript可能处于技术前沿,因此它不应该有很多这样的限制 至于每个人能做什么而另一个做不到,这就更难断言了。我认为这两种语言或多或少都是图灵完全的,因此,虽然用每种语言做一些事情可能或多或少有点

你们有没有人使用谷歌应用程序的javascript宏功能,特别是电子表格?这些能力如何比较?有什么是谷歌应用程序做不到的,可以用VBA宏来完成吗?

Office中的VBA已经保持了大约10年,仍然使用旧的VB6。这种语言的局限性是无穷的。无数据结构,无逻辑短路,有限类型,非面向对象。谷歌应用程序和javascript可能处于技术前沿,因此它不应该有很多这样的限制

至于每个人能做什么而另一个做不到,这就更难断言了。我认为这两种语言或多或少都是图灵完全的,因此,虽然用每种语言做一些事情可能或多或少有点困难,但从理论上讲,足够好的程序员团队可以用这两种语言做任何事情


欢呼:D

主要障碍之一是谷歌应用程序是基于网络的。这是大多数公司害怕的想法,你会有自己的数据没有安全地存储在自己的网络。我永远不会相信谷歌会提供这样的数据。我肯定他们有安全的数据连接器,但为什么要冒这个风险呢

当然VBA已经过时了,而且没有javascript那么性感。然而,它是一个很好的工具,可以快速编写小型应用程序,并将其快速提供给用户。你只会听到关于非程序员使用VBA构建的应用程序的噩梦故事


这实际上取决于你的项目,以及你想完成什么。两者都有各自的局限性。

快速浏览谷歌电子表格API后,我得到的印象是,它目前有些有限,例如:

事件更少,无法控制计算,无法编写自定义项?


有人试过将它用于严肃的工作吗?

从本质上讲,谷歌电子表格无法完成本地程序所能完成的许多事情。示例:将导入用户指定文件夹中的所有csv文件并合并它们的宏。

想到的一件事是VBA通过“声明函数”声明对WinAPI具有完全访问权限。Google应用程序脚本将不具有此访问权限。这是一个值得注意的问题,如果你在两个电子表格之间转换一个电子表格。

< P>我正处于一个复杂的项目从VBA到谷歌应用程序脚本的转换过程中,作为一个实验,看看能做什么和不能做什么。p> 一般来说,谷歌应用程序脚本的开发环境是原始的,令人沮丧。该语言当然是javaScript,因此如果您已经知道这一点,那么您就有了一个领先的开始。但问题是,javaScript的许多优点是无法实现的,因为您实际上没有访问DOM元素的权限,而且除了通过UI对象之外,您也没有等效的Excel形状,它本质上与Excel表单相同,具有相同类型的事件和对象等

另一个问题是总体缓慢。您需要小心您的结构,以便最小化对电子表格数据的调用(我通过构建一个值缓存解决了这个问题),可伸缩性是非常值得怀疑的

我对javaScript或VBA同样熟悉,所以抛开语言不谈,VBA目前更有成就感,完成事情的速度更快,尽管应用程序脚本内置了越来越多的功能,使其非常有前景

我正在记录我的迁移进度,以及我遇到的事情和如何最大限度地减少结构变化的斗争(我试图看看我是否能想出一些可以在两个平台上进行双重维护的方法),因此如果您感兴趣,您可以在这里跟进


Bruce

我正在尝试使用google apps脚本在google电子表格中创建图表,但似乎不可能。。。这在VBA中是相当容易的,也许vb6已经有10年的历史了,但另一方面,你可以用你的电子表格做你需要的一切。不过,谷歌脚本并非如此

我不怀疑语言本身的完整性。我更感兴趣的是事件模型、与环境的交互、其他文件和数据源等之间的差异。魔鬼总是在细节中。鉴于office VBA没有看到任何版本的改进,而Google Apps是最新和最伟大的,答案是哪一个会有更好的事件模型和交互肯定会是后者。我敢打赌,谷歌应用程序的新开发将更加容易,但你将放弃10年在互联网上随时可用的VBA经验。如果主要依赖现有材质,VBA会更容易。如果这是一个新应用程序的设计决策,我会说谷歌应用程序提供了最多的承诺,Excel VBA提供了最多的支持。我一直在看API,谷歌应用程序看起来非常优秀。为简单起见,他们使用了很多相同的关键字,如range、formulaR1C1等,但他们有大量的附加功能,可以让您在一个命令中快速轻松地完成过去在VBA中使用整个子例程和复杂解决方法的事情。您的答案看起来像是有偏见的猜测!我不认为VBA在18年来基本上没有变化,而是很糟糕;这意味着它是稳定的。如果我想要一种全新的编程语言,我可能会选择C#/VB.Net。按照@Bruce的链接,GAS的运行速度似乎比VBA慢至少5倍。因为我和大多数为大中型公司编写办公自动化的人都在工作,所以让每个人都切换到较慢的系统是没有意义的。例如,我使用Excel/VBA作为自动化CAD软件/数据库的中间人/检查点;我不确定使用GAS和Google Sheets会如何工作。我想你可以编写自定义项,但我已经玩了五分钟了,所以我不知道有什么限制。GAS已经提升到了一个新的实用水平,这意味着