作成日: 2021/12/23 最終更新日: 2022/03/24
文書種別
不具合
状況
修正済み
詳細
シートの表示倍率を100%以外に設定している場合、ShapeBaseのxメソッドやyメソッドでシェイプの垂直位置や水平位置を設定すると、指定した位置と異なる場所に設定されます。例えば、表示倍率が200%の場合、shape.x(100)を実行すると、実際にはshape.x(50)の位置に設定されます。
回避方法
SpreadJS (Ver.15.0.5)で修正済み。
Ver.15.0.5より前のバージョンでは、以下のように、スプレッドシート描画処理を停止し、表示倍率を一時的に100%にして、xメソッド、yメソッドの処理後に表示倍率を戻して回避可能です。
サンプルコード
sheet.suspendPaint();
var zoom = sheet.zoom();
sheet.zoom(1);
shape.x(100);
shape.y(100);
sheet.zoom(zoom);
sheet.resumePaint();