如何在VB.NET中使用Excel函数?

我实际上正在尝试使用Gamma_Inv函数,但为了尽量减less有很多variables的复杂性,我将使用pi函数,因为它更简单地说明了我的问题。

我的代码是:

Imports Microsoft.Office.Interop.Excel Public Class LoadData Shared Sub Main(ByVal cmdArgs() As String) Dim fred As WorksheetFunction MsgBox(fred.Pi) End Sub End Class 

我得到的错误是:

在赋值之前使用variables'fred'。

这种说法是有道理的,但是我应该怎么做?

它不会让我使用:

 MsgBox(WorksheetFunction.Pi) 

我猜想它要我打开电子表格,但我只想使用该function,而不是Excel本身。

是的,不幸的是,您需要运行Excel应用程序来使用工作表函数。

  Dim app = New Microsoft.Office.Interop.Excel.Application Dim wf = app.WorksheetFunction MsgBox(wf.Pi) MsgBox(app.Evaluate("PI()")) app.Visible = True ' optional app.Quit() ' don't forget to close it when done ! 

Evaluate方法有点慢,但可以评估几乎所有可以在Excel公式或地址栏中使用的方法。

好的,我find了答案。

您需要声明应用程序:

  Dim value As New Application 

那么你可以使用它的function:

  MsgBox(value.WorksheetFunction.Pi)