作成日: 2016/04/12 最終更新日: 2016/04/12
文書種別
制限事項
詳細
OwnerDrawCellイベントは描画と計測の2種類の目的で利用されています。
Excelエクスポート時には、動的なテキストやスタイル変更の目的でこのイベントが発生し、e.Measuring引数がTrue、e.Graphics引数がNothingとなります。
そのため、このときe.Graphics引数を参照すると、「オブジェクト参照がオブジェクト インスタンスに設定されていません。」というエラーが発生することがあります。
※以前のビルドではSaveExcelメソッド実行時にOwnerDrawCellイベントは発生しませんでしたが、C1Studio 2010J SP1(ビルド 2/4.6.20101.546)で、上記目的のためにOwnerDrawCellイベントの発生タイミングについて改修が行われました。
Excelエクスポート時には、動的なテキストやスタイル変更の目的でこのイベントが発生し、e.Measuring引数がTrue、e.Graphics引数がNothingとなります。
そのため、このときe.Graphics引数を参照すると、「オブジェクト参照がオブジェクト インスタンスに設定されていません。」というエラーが発生することがあります。
※以前のビルドではSaveExcelメソッド実行時にOwnerDrawCellイベントは発生しませんでしたが、C1Studio 2010J SP1(ビルド 2/4.6.20101.546)で、上記目的のためにOwnerDrawCellイベントの発生タイミングについて改修が行われました。
回避方法
e.Measuring引数の値によってセルの描画処理を行うかどうかを判断し、e.Graphics引数の参照を制御します。
◎サンプルコード(VB)
◎サンプルコード(C#)
◎サンプルコード(VB)
If e.Measuring = True Then Return Else ' ・・・描画処理(省略)・・・ End If
◎サンプルコード(C#)
if (e.Measuring == true)
{
return;
}
else
{
// ・・・描画処理(省略)・・・
}
旧文書番号
81614