F#,Office中的另一个VBA?

Excel是一款出色的电子表格软件,是许多公司商业智能的前沿。 经常使用VBA编写扩展名或调用其他DLL。

由于Excel本身function强大,F#将Excel公司写得非常好,可以编写数据分析程序。

我正在考虑是否F#或F#的变体将成为办公室中的下一个VBA。 任何新闻或谣言?

编辑:我不是要取代办公室的VBA。 我的意思是F#可以成为Office的替代scheme来编写脚本。

我不认为F#可能成为“下一个”VBA的候选人。 我们来看看在Excel中使用VBA的两种主要方式:

1)编写用户定义的function

2)自动化电子表格操作

我认为(2)比(1)更普遍。 这主要是使用Excel对象模型的必要工作,并没有发挥F#的function优势。 这并不是说F#或者其他语言对于命令式的电子表格操作来说并不是什么好事,但是VBA也是很好的,并且(就像它的基本祖先一样)是针对经验不足的程序员的。 对于Excel的成功,VBA是(也是非常重要的),正是因为它使terminal用户比terminal用户更容易。

正如其他人所指出的那样,(1)现在可以在F#中轻松完成,尽pipe是以图书馆的forms,而不是与Excel紧密集成。 我自己会杀死一个真正的function语言,它与表格本身更紧密地结合在一起。 但是,我不认为它应该看起来像F#本身。 真正的胜利就是能够以一种非常类似Excel的公式expression函数,并将它们用作电子表格中的一级值。 最近一位同事和我一直在build立一些相当复杂的模型,但是必须用Excel来build造和交付。 我们已经沿着这些路线进行了实验,似乎对我们有用,但是我们的实现绝对是非常笨拙的。

MS正在提供VSTO ,它是每个.NET语言和MS Office之间的桥梁。 我不认为他们会优先于任何其他.NET语言来执行此任务。

如果您的意思是使用F#for Office interop,则可能需要尝试使用dynamic查找运算符“?” ,但我认为我更喜欢C#的dynamic 。

如果你的意思是为Excel编写math函数,那么是的,F#是一个很好的工具。 实际上, 这是在F#中重写Excel的财务function 。 你可以在F#中编写自己的函数,然后使用VBA从Excel调用它们。