Copy メソッドでシート間コピーを行うとき、コピー元にコピー先セルが存在しないと例外が発生する
対象製品
El Tabelle for .NET
発生環境
v1.2.2003.0630
v1.2.2003.0724
v1.2.2003.0829
v1.2.2003.0902 (HotFix)
v1.2.2003.0911 (HotFix)
v1.2.2003.1103 (HotFix)
v1.2.2003.1128
v1.2.2003.0724
v1.2.2003.0829
v1.2.2003.0902 (HotFix)
v1.2.2003.0911 (HotFix)
v1.2.2003.1103 (HotFix)
v1.2.2003.1128
状況
修正済み
詳細
Copy メソッドでシート間のセルのコピーを行うとき、コピー元のシートにコピー先セルの位置と同じセルが存在していないと、例外が発生します。
コピー元のシートがコピー先のシートよりも小さい場合に現象が発生しやすくなります。
[Visual Basic]
Sheet1.MaxRows = 2
Sheet2.MaxRows = 64
Sheet2.Copy(Sheet1, New GrapeCity.Views.ElTabelle.Range("A1:A2"), _
New GrapeCity.Views.ElTabelle.Position("A4"), _
GrapeCity.Views.ElTabelle.DataTransferMode.All)
[C#]
sheet1.MaxRows = 2;
sheet2.MaxRows = 64;
sheet2.Copy(sheet1, new GrapeCity.Views.ElTabelle.Range("A1:A2"),
new GrapeCity.Views.ElTabelle.Position("A4"),
GrapeCity.Views.ElTabelle.DataTransferMode.All)
コピー元のシートがコピー先のシートよりも小さい場合に現象が発生しやすくなります。
[Visual Basic]
Sheet1.MaxRows = 2
Sheet2.MaxRows = 64
Sheet2.Copy(Sheet1, New GrapeCity.Views.ElTabelle.Range("A1:A2"), _
New GrapeCity.Views.ElTabelle.Position("A4"), _
GrapeCity.Views.ElTabelle.DataTransferMode.All)
[C#]
sheet1.MaxRows = 2;
sheet2.MaxRows = 64;
sheet2.Copy(sheet1, new GrapeCity.Views.ElTabelle.Range("A1:A2"),
new GrapeCity.Views.ElTabelle.Position("A4"),
GrapeCity.Views.ElTabelle.DataTransferMode.All)
回避方法
この現象はファイル バージョン v1.2.2004.0224 (HotFix) 以降のアセンブリで修正されています。
修正版は こちら からダウンロードできます。
問題が修正されたアセンブリに移行するか、次の操作を行うことで現象を回避できます。
・Copy メソッドを実行する直前にコピー元にのシートのサイズを一時的にコピー先のシートに合わせて調整する。
修正版は こちら からダウンロードできます。
問題が修正されたアセンブリに移行するか、次の操作を行うことで現象を回避できます。
・Copy メソッドを実行する直前にコピー元にのシートのサイズを一時的にコピー先のシートに合わせて調整する。
キーワード
ELTB03478
この文書は、以前は次のバグレポートIDで公開されていました : 3595