/// <summary> /// スプレッドクリア処理 /// </summary> /// <param name="pspdObj">スプレッドシートインスタンス</param> /// <returns>true:正常終了 false:エラー</returns> /// <remark> /// 初期化を行います /// </remark> public static bool clearSpreadSheet(FpSpread pspdObj, SheetView psheet) { try { //--------------------------------------------------------------------------------- // ■ クリア //--------------------------------------------------------------------------------- psheet.ClearRange(0, 0, psheet.RowCount, psheet.ColumnCount, false); //--------------------------------------------------------------------------------- // ■ 先頭をアクティブへ //--------------------------------------------------------------------------------- psheet.SetActiveCell(0, 0); // アクティブセル // 行:セルまたは行の位置を近い方の端 // 列:セルまたは列の位置を近い方の端 // ※ Nearestパラメータは指定したセルが表示されていない場合のみ、表示中のセルを変更または移動します。 if (pspdObj.GetViewportTopRow(0) <= 0 && pspdObj.GetViewportBottomRow(0) >= 0) { } else { pspdObj.ShowActiveCell(VerticalPosition.Top, HorizontalPosition.Nearest); } return(true); } catch (Exception) { return(false); } }
/// <summary> /// フォーカス設定処理 /// </summary> /// <param name="pspdObj">スプレッドシートインスタンス</param> /// <param name="pintRow">行位置</param> /// <param name="pintCol">列位置</param> /// <returns>true:正常終了 false:エラー</returns> /// <remark> /// フォーカス設定を行います /// </remark> public static bool SetCellFocus(FpSpread pspdObj, int pintRow, int pintCol) { try { pspdObj.Sheets[0].SetActiveCell(pintRow, pintCol); // アクティブセル // 行:セルまたは行の位置を近い方の端 // 列:セルまたは列の位置を近い方の端 // ※ Nearestパラメータは指定したセルが表示されていない場合のみ、表示中のセルを変更または移動します。 if (pintRow < pspdObj.GetViewportTopRow(0)) { pspdObj.ShowActiveCell(VerticalPosition.Top, HorizontalPosition.Nearest); } else if (pspdObj.GetViewportBottomRow(0) < pintRow) { pspdObj.ShowActiveCell(VerticalPosition.Bottom, HorizontalPosition.Nearest); } pspdObj.Focus(); return(true); } catch (Exception) { return(false); } }