セルにユーザー定義関数を使用する数式が含まれている場合でも、VB6 は Excel ワークブックを開いてセルの値を読み取ることができます。ただし、VB.NET 2012 は常に値ではなくエラー コード (0x800A07ED) を返します。セルの実際の値を返すように VB.NET を誘導する方法を知っている人はいますか?
セルの数式に UDF が含まれていると、VB.NET が失敗します。たとえば、セルの数式は次のようになります=MyFunction(A1)
(ここで、MyFunction はパブリック モジュール内のパブリック関数です)。
' A1's Value is "123".
' B1's Formula is "=MyFunction(A1)".
'
' After opening the workbook with VB.NET:
Dim rng1Cell As Excel.Range
rng1Cell = Sheet1.Range("B1")
Dim dblValue As Double
dblValue = CType(rng1Cell.Value, Double)
' dblValue now equals 0x800A07ED