PowerTools SPREAD for Windows Forms 8.0J
Search(Int32,String,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Int32,Int32,Int32,Int32,Int32,Int32) メソッド


検索を実行するシートのインデックス。
検索文字列
検索文字列の大文字と小文字を区別するかどうか
完全一致のみを検索するかどうか
行、列の方向ではなく列、行の方向に検索するかどうか
検索文字列のワイルドカード文字(*、?)を有効にするかどうか
セルの内容を検索するかどうか
セルのメモの内容を検索するかどうか
セルのタグの内容(タグの文字列表現)を検索するかどうか
指定したセルブロックのみを検索するかどうかを指定します。
開始行インデックス
開始列インデックス
終了する行のインデックス。
終了する列のインデックス。
一致が見つかった行のインデックス。
一致が見つかった列のインデックス。
指定した検索基準で指定したシートの指定したセル範囲のテキストから 指定した検索文字列を検索します。
構文
'Declaration
 
Public Overloads Function Search( _
   ByVal sheetIndex As Integer, _
   ByVal searchString As String, _
   ByVal caseSensitive As Boolean, _
   ByVal exactMatch As Boolean, _
   ByVal alternateSearch As Boolean, _
   ByVal useWildcards As Boolean, _
   ByVal includeCellText As Boolean, _
   ByVal includeNotes As Boolean, _
   ByVal includeTags As Boolean, _
   ByVal searchAsBlockRange As Boolean, _
   ByVal startRowIndex As Integer, _
   ByVal startColumnIndex As Integer, _
   ByVal endRowIndex As Integer, _
   ByVal endColumnIndex As Integer, _
   ByRef foundRowIndex As Integer, _
   ByRef foundColumnIndex As Integer _
) As SearchFoundFlags
'使用法
 
Dim instance As FpSpread
Dim sheetIndex As Integer
Dim searchString As String
Dim caseSensitive As Boolean
Dim exactMatch As Boolean
Dim alternateSearch As Boolean
Dim useWildcards As Boolean
Dim includeCellText As Boolean
Dim includeNotes As Boolean
Dim includeTags As Boolean
Dim searchAsBlockRange As Boolean
Dim startRowIndex As Integer
Dim startColumnIndex As Integer
Dim endRowIndex As Integer
Dim endColumnIndex As Integer
Dim foundRowIndex As Integer
Dim foundColumnIndex As Integer
Dim value As SearchFoundFlags
 
value = instance.Search(sheetIndex, searchString, caseSensitive, exactMatch, alternateSearch, useWildcards, includeCellText, includeNotes, includeTags, searchAsBlockRange, startRowIndex, startColumnIndex, endRowIndex, endColumnIndex, foundRowIndex, foundColumnIndex)

パラメータ

sheetIndex
検索を実行するシートのインデックス。
searchString
検索文字列
caseSensitive
検索文字列の大文字と小文字を区別するかどうか
exactMatch
完全一致のみを検索するかどうか
alternateSearch
行、列の方向ではなく列、行の方向に検索するかどうか
useWildcards
検索文字列のワイルドカード文字(*、?)を有効にするかどうか
includeCellText
セルの内容を検索するかどうか
includeNotes
セルのメモの内容を検索するかどうか
includeTags
セルのタグの内容(タグの文字列表現)を検索するかどうか
searchAsBlockRange
指定したセルブロックのみを検索するかどうかを指定します。
startRowIndex
開始行インデックス
startColumnIndex
開始列インデックス
endRowIndex
終了する行のインデックス。
endColumnIndex
終了する列のインデックス。
foundRowIndex
一致が見つかった行のインデックス。
foundColumnIndex
一致が見つかった列のインデックス。

戻り値の型

文字列が見つかったセルまたはセル項目のタイプを示す SearchFoundFlags 設定が返されます。

また、foundRowIndexfoundColumnIndex は、文字列が見つかったセルの行インデックスおよび列インデックスを返します。

解説

これは最近追加された検索メソッドで、検索文字列がセルノートやセルタグで見つかるケースに対応するため、テキスト文字列ではなくSearchFoundFlagを返します。必要に応じて、データセル、セルノート、またはセルタグを自由に組み合わせて検索することが可能です。検索はstartRowIndexとstartColumnIndexで指定されたセル位置からendRowIndexとendColumnIndexで指定されたセル位置にかけて、文字列の一致が見つかるまで続けられます。さらに、ブロック範囲を指定することで、検索する範囲(一番左の列、一番右の列、一番上の行、および一番下の行)を限定できます。

そのためには、searchAsBlockRangeをtrueに設定します。そうすると、開始インデックスと終了インデックスによって検索の範囲が定義されます。たとえば、開始列インデックスを5にすると、すべての行でインデックスが5より小さい列は検索されません。

セルを検索対象として指定した場合、この検索メソッドは、そのセルのTextプロパティによって文字列として表現できるデータを含むすべてのセルを検索します。これには非表示のセルやロックされたセルも含まれます。

この検索メソッドは、書式付き文字列(セルのText)のみをチェックします。セルのValueはチェックしません。タグを検索対象として指定した場合は、Stringデータ型のタグのみが検索されます。

階層的なシートの場合、このメソッドは親シートのセルのみを検索します。子シートを検索するには、子シートごとに別々の検索を実行する必要があります。

searchAsBlockRangeは、範囲をセルのブロックとみなして、検索をその範囲内に限定します。開始インデックスが行0の列1、終了インデックスが行3の列3の場合は、列0と列4以降は検索されません。searchAsBlockRangeがtrueに設定されている場合、デフォルトの検索はまず左から右へ実行され、次に上から下へ実行されます。alternateSearchをtrueに設定すると、上から下へ検索された後、左から右へ検索されます。

searchAsBlockRangeがfalseの場合は、シート上の指定したセル以降のすべてのセル(範囲に含まれないセルを含む)が検索されます。

次のサンプルコードは、指定した文字列の位置を返します。
int x = 0;  
int y = 0; 
FarPoint.Win.Spread.SearchFoundFlags sff; 
sff = fpSpread1.Search(0, "test", false, false, false, false, true, false, false, true, 0, 1, 3, 3, ref x, ref y);
listBox1.Items.Add(sff.ToString()); 
listBox1.Items.Add(x.ToString()); 
listBox1.Items.Add(y.ToString()); 
Dim x As Integer
Dim y As Integer
Dim z As Integer
Dim sff As FarPoint.Win.Spread.SearchFoundFlags
sff = FpSpread1.Search(0, "test", False, False, False, False, True, False, False, True, 0, 1, 3, 3, x, y)
ListBox1.Items.Add(sff.ToString())
ListBox1.Items.Add(x)
ListBox1.Items.Add(y)
参照

FpSpread クラス
FpSpread メンバ
オーバーロード一覧
SearchFoundFlags 列挙体
検索

 

 


© 2004-2015, GrapeCity inc. All rights reserved.