我一直在为财务会计模型构建一个演示(可能是一个小应用程序)。我正在使用VBA / Excel进行数据输入(例如表格),计算和结果表示,我也从VBA程序向MS Access数据库运行SQL问题。原则上,这些组件的功能对我来说相当不错(我意识到VBA有点过时并且不是最流畅的)。 我已经这样做了一段时间了(而且我是一名具有其他语言的古老经验的工程师,虽然从未作为程序员工作过)并且几乎完全处于最佳状态,并且似乎能够找到我所做的编程错误。但是,当发生故障时我倾向于对VBA发疯,这似乎不是由我引起的,而是由于VBA的不稳定/缺点。
所以我的问题是,完全没有使用Python:我可以基本上使用上面描述的Python吗?你能不能让我知道Python是否比VBA / Excel更稳定,更不容易出错? (我使用的是Windows 7) 感谢建议
答案 0 :(得分:9)
如果您决定使用Python来推动Office应用程序的自动化,请查看Python Win32 Extensions
然而,我怀疑是可取的。它需要你安装和学习Python。如果这是您分发给用户的应用程序,他们也需要安装Python。
此外,您提供的有关声明变量的示例表明,您可以更好地花时间学习VBA以及要自动化的Office应用程序的对象模型。在那个例子中,你错误地解释了你对VBA基础的缺乏理解,因为VBA容易出错"。 Python不会帮助你。
答案 1 :(得分:2)
我强烈建议你用Python做到这一点。 Python已成为数据分析的事实标准。 Microsoft正在考虑将Python
添加到Excel:https://news.ycombinator.com/item?id=15927132
尽管如此,您在VBA
中可以做的一切都可以通过python以及更多使用以下任何库来完成:
Xlwings
:https://github.com/ZoomerAnalytics/xlwings Pywin32
:https://github.com/Googulator/pypiwin32 Pyspread
:https://manns.github.io/pyspread/ Xlswriter
/ Xlsread
其中我建议您使用xlwings
。我用过它,它完美无瑕。您甚至可以通过python代码执行VBA
。因此,您可以充分利用这两个方面,即使用python中的任何数据分析包进行计算,以及何时需要(但无法访问VBA公开的函数,但xlwings
本身不支持)您可以直接在Excel中调用VBA
函数。