GrapeCity SPREAD for Windows Forms 12.0J > 開発者ガイド > 数式 > 数式テキストボックスの設定 |
スプレッドシートで数式テキストボックスを使用するには、以下の手順を実行します。
フローティング数式バーを設定して、数式を追加するために使用できます。数式バーは、開発者向けの数式エディタに似ており、テキストボックスのような外観です。数式バーは、演算関数の一覧を表示するだけでなく、数式のセル範囲を選択するための方法を視覚的に案内します。
実行時に数式バーを設定するには、FormulaTextBoxクラスを使用します。設計時にフォーム上に数式テキストボックスを描画して、これをSpreadに割り当てることもできます。ツールボックスから数式テキストボックスのアイコンを選択し、フォーム上にドラッグします。数式テキストボックスの動詞を選択し、Spreadに追加します。
ユーザーが、数式を入力することができる数式テキストボックス(FormulaTextBox)コントロールを使用できます。
これは、SPREADデザイナや[プロパティ]ウィンドウで、開発者に、設計時に提供される数式エディタに似た機能で、テキストボックスの外観をもちます。数式テキストボックスには、演算関数の一覧が表示されます。また、数式で使用するセル範囲を視覚的に選択できる機能を提供します。
数式テキストボックス(FormulaTextBox)コントロールは、Visual Studioのツールボックスに、次の図のアイコンで表示されます。
ツールボックスから数式テキストボックスを選択して、フォームにドラッグします。そして、数式テキストボックスを選択し、SPREADに割り当てます。
|
数式テキストボックスを使用するには、等号(=)を入力してから、数式名の入力を開始します。入力した文字で始まる関数の一覧が表示されます。次に、左かっこを入力して、マウスのドラッグでセル範囲を選択するか、絶対参照または相対参照を使用してセル値を入力します。次の図では、A1〜B3のセル範囲を選択しています。
次のサンプルコードは、数式テキストボックスを作成しています。
C# |
コードのコピー
|
---|---|
FarPoint.Win.Spread.FormulaTextBox editor = new FarPoint.Win.Spread.FormulaTextBox(); editor.Location = new Point(0, 0); editor.Size = new Size(80, 20); this.Controls.Add(editor); editor.Attach(fpSpread1); // この行は、数式バーをコントロールから切り離します。 // editor.Detach(); |
Visual Basic |
コードのコピー
|
---|---|
Dim editor As New FarPoint.Win.Spread.FormulaTextBox editor.Location = New Point(0, 0) editor.Size = New Size(80, 20) Controls.Add(editor) editor.Attach(FpSpread1) ' この行は、数式バーをコントロールから切り離します。 ' editor.Detach() |
スプレッドシートで数式テキストボックスを使用する場合、交差式と複合参照式を使用できます。
ワークシートで公差式を作成するには、使用する演算関数のパラメータとして、2つのセル範囲をスペースで区切って選択または指定する必要があります。
次の図は、数式テキストボックスに公差式を使用する例を示します。ここではSUM関数を使用し、2つのセル範囲「B1:B6」と「B3:C4」を、スペースで区切って指定しています。この数式を計算すると、2つのセル範囲の交差部分(図上で行と列が交差している強調表示された部分)に表示されているすべての値が合計されます。
複合参照式は、1つのワークシート内で、相対セル参照と絶対セル参照とを組み合わせた数式です(絶対列と相対行、あるいは絶対行と相対列)。絶対セル参照は固定参照とも呼ばれ、セル番号の前にドル記号($)を表示します。相対セル参照の場合は、ワークシート内の行および列間でドラッグやコピーによって数式の位置を変えると、参照先も変更されます。
数式の詳細については、「 数式 」のページ、および「関数リファレンス」を参照してください。
スプレッドシートの数式テキストボックスでは、交差式と複合参照式を使用できます。
次のサンプルコードは、スプレッドシートで交差式と複合参照式を使用します。
C# |
コードのコピー
|
---|---|
// 公差式を使用します。 fpSpread1.Sheets[0].Cells[0, 1].Value = 0; fpSpread1.Sheets[0].Cells[1, 1].Value = 1; fpSpread1.Sheets[0].Cells[2, 1].Value = 2; fpSpread1.Sheets[0].Cells[3, 1].Value = 3; fpSpread1.Sheets[0].Cells[4, 1].Value = 4; fpSpread1.Sheets[0].Cells[5, 1].Value = 5; fpSpread1.Sheets[0].Cells[2, 2].Value = 6; fpSpread1.Sheets[0].Cells[3, 2].Value = 7; fpSpread1.Sheets[0].Cells[2, 4].Formula = "SUM(B1:B6 B3:C4)"; // 複合参照式を使用します。 fpSpread1.Sheets[0].Cells[5, 5].Formula = "SUM($B1, $B$2, B$3, B4)"; |
Visual Basic |
コードのコピー
|
---|---|
'公差式を使用します。 fpSpread1.Sheets(0).Cells(0, 1).Value = 0 fpSpread1.Sheets(0).Cells(1, 1).Value = 1 fpSpread1.Sheets(0).Cells(2, 1).Value = 2 fpSpread1.Sheets(0).Cells(3, 1).Value = 3 fpSpread1.Sheets(0).Cells(4, 1).Value = 4 fpSpread1.Sheets(0).Cells(5, 1).Value = 5 fpSpread1.Sheets(0).Cells(2, 2).Value = 6 fpSpread1.Sheets(0).Cells(3, 2).Value = 7 fpSpread1.Sheets(0).Cells(2, 4).Formula = "SUM(B1:B6 B3:C4) '複合参照式を使用します。 fpSpread1.Sheets(0).Cells(5, 5).Formula = "SUM($B1, $B$2, B$3, B4)" |