Example #1
0
        /// <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);
            }
        }
Example #2
0
        /// <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);
            }
        }