2

Excel Interop アセンブリを使用して、定数を持つすべてのセルの数を見つけようとしています。

小さなファイルでは、これはうまく機能します。ただし、大きなファイルでは Excel がクラッシュします。

206963 行 9 列のファイルで試してみたところ、Excel がクラッシュしました。

  1. 回避策を知っている人はいますか?
  2. SpecialCells関数の制限事項と使用すべきでない場合のリストはありますか?

以下は私のコードです:

public static int getConstantCount(Range myRange) //myRange = myWorksheet.UsedRange
{
    try
    {    
        return myRange.SpecialCells(XlCellType.xlCellTypeConstants).Count;
    }
    catch (System.Runtime.InteropServices.COMException ex)
    {
        return 0;
    }
}    

これは、相互運用アセンブリを使用せずに Excel 自体でも発生することに気付きました。https://superuser.com/questions/632856/excel-go-to-special-crashes-on-large-fileを見てください

4

1 に答える 1

0

最初のアイデアだけ...

.CountLarge property現在使用している代わりに使用してみてください.Count property

現時点では、制限を超えていない可能性がありますが、お.Count役に立てば幸いです。

.Countプロパティの MSDN (VBA)

于 2013-08-16T20:44:13.867 に答える