DOBON.NET DOBON.NETプログラミング掲示板過去ログ

VB.netでエクセル関数の利用

環境/言語:[Windows2000、VB.net]
分類:[.NET]

初めて利用させていただきます。.net初心者です。
VB.netでエクセル関数(LogInv)を利用しようと思っていますが、
「オブジェクト参照がオブジェクト インスタンスに設定されていません。」のエラーが出てしまいます。
ソースは以下です。
========================================================
Dim oExcel As Excel.Application
oExcel = New Excel.Application
AAA= oExcel.WorksheetFunction.LogInv(BBB, CCC, DDD)
========================================================

『oExcel.WorksheetFunction.LogInv(BBB, CCC,DDD)』の部分だけを
コマンドウィンドで見ると、きちんと値が入っています。

VB.netでのエクセル関数の使用方法、もしくはエクセル関数(LogInv)の代わりとなる変数を
ご存知の方がいらっしゃいましたら、ご教授ください。
2005/08/30(Tue) 16:00:10 編集(投稿者)

■No12501に返信(まいさんの記事)
引数として渡す値が計算できない値だとか、oExcel を非表示で開きまくって
プロセスが溜まってて誤動作とかでは?
以下コードで成功しました。
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim oExcel As Excel.Application
        Dim oXlFunc As Excel.WorksheetFunction
        Dim AAA, BBB, CCC, DDD As Double
        oExcel = New Excel.Application
        BBB = 0.975
        CCC = 10
        DDD = 2
        'oExcel.Visible = True
        'oExcel.Workbooks.Add()
        oXlFunc = oExcel.WorksheetFunction
        AAA = oXlFunc.LogInv(BBB, CCC, DDD)
        MessageBox.Show(AAA.ToString)

        System.Runtime.InteropServices.Marshal.ReleaseComObject(oXlFunc)
        oExcel.Quit()
        System.Runtime.InteropServices.Marshal.ReleaseComObject(oExcel)
    End Sub
上手くいきました!
他のバグでした。。。
ありがとうございました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板