作成日: 2020/10/19 最終更新日: 2021/02/17
文書種別
不具合
状況
修正済み
詳細
GcExcelにて、行/列全体を、結合された範囲を含む別の行/列へコピーした際、コピー元の行/列が、コピー先の行/列の結合された範囲をカバーしていない場合にSystem.InvalidOperationExceptionが発生することがあります。
(例)
------------------------------
//範囲["E5:G7"]を結合
sheet.Range["E5:G7"].Merge();
//行をコピー
//コピー元(1行)がコピー先の結合範囲(3行)をカバーしていないため、
//本来は正常に処理されるべきにもかかわらず、例外が発生する
sheet.Rows[0].Copy(sheet.Rows[5]);
sheet.Range["1:1"].Copy(sheet.Range["6:6"]);
//列をコピー
//コピー元(1列)がコピー先の結合範囲(3列)をカバーしていないため、
//本来は正常に処理されるべきにもかかわらず、例外が発生する
sheet.Columns[0].Copy(sheet.Columns[5]);
sheet.Range["A:A"].Copy(sheet.Range["F:F"]);
(例)
------------------------------
//範囲["E5:G7"]を結合
sheet.Range["E5:G7"].Merge();
//行をコピー
//コピー元(1行)がコピー先の結合範囲(3行)をカバーしていないため、
//本来は正常に処理されるべきにもかかわらず、例外が発生する
sheet.Rows[0].Copy(sheet.Rows[5]);
sheet.Range["1:1"].Copy(sheet.Range["6:6"]);
//列をコピー
//コピー元(1列)がコピー先の結合範囲(3列)をカバーしていないため、
//本来は正常に処理されるべきにもかかわらず、例外が発生する
sheet.Columns[0].Copy(sheet.Columns[5]);
sheet.Range["A:A"].Copy(sheet.Range["F:F"]);
回避方法
この問題はバージョン4.0.3で修正されました。
旧文書番号
86085