0
public string Name(string code)
    {
        MyExcelAppInstance.Volatile(true);

        MsExcel.Application oApp = new MsExcel.Application();
        oApp.Visible = true;
        oApp.UserControl = true;
        Object oBooks = oApp.Workbooks;
        System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo("en-US");
        oBooks.GetType().InvokeMember("Add", System.Reflection.BindingFlags.InvokeMethod, null, oBooks, null, ci);

        oApp.Visible = true;
        oApp.UserControl = true;
        System.Globalization.CultureInfo oldCI = System.Threading.Thread.CurrentThread.CurrentCulture;
        System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
        oApp.Workbooks.Add();
        System.Threading.Thread.CurrentThread.CurrentCulture = oldCI;

        MsExcel.Range rng = MyExcelAppInstance.get_Range("A1:D4", Type.Missing);
        //Get a 2D Array of values from the range in one shot: 
        object[,] myArray = (object[,])rng.get_Value(Type.Missing);

        // Process 'myArray' however you want here. 
        // Note that the Array returned from Excel is base 1, not base 0. 
        // To be safe, use GetLowerBound() and GetUpperBound: 
        for (int row = myArray.GetLowerBound(0); row <= myArray.GetUpperBound(0); row++)
        {
            for (int column = myArray.GetLowerBound(1); column <= myArray.GetUpperBound(1); column++)
            {
                if (myArray[row, column] is double)
                {
                    myArray[row, column] = (double)myArray[row, column] * 2;
                }
            }
        }

        // Pass back the results in one shot: 
        rng.set_Value(Type.Missing, myArray);  // where gets an error

        return code + code;
    }

「HRESULT からの例外: 0x800A03EC」というエラーが表示されます。ロケールを設定しようとしましたが、うまくいきませんでした。set_value がなくても問題なく動作します。なぜこれがうまくいかないのですか??

4

1 に答える 1

0

私はかつて同様の問題を抱えていましたが、エラーは無効な引数が原因であることが判明しました(範囲文字列を無効な形式で渡していました)。を呼び出すときに、範囲とすべての配列内容が有効であることを確認してくださいset_Value

于 2012-04-25T12:06:57.177 に答える