/// <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); } }
///<summary> /// 设定单元格的焦点 参数:表格对象,单元格行号,单元格列号 ///</summary> public static void SpdSetFocus(FpSpread ospd, int orow, int ocol) { if (orow >= 0 && ocol >= 0) { ospd.Focus(); //ospd.ActiveSheet.SetActiveCell(orow,ocol,false); ospd.ActiveSheet.ActiveRowIndex = orow; ospd.ActiveSheet.ActiveColumnIndex = ocol; } }