2021年12月26日日曜日

216: Writer '.uno:ExecuteSearch'

<このシリーズの前の記事 | このシリーズの目次 | このシリーズの次の記事>

当該テキストドキュメントに対して、文字列またはパラグラフスタイルを検索し、または正規表現検索を行ない、オプションで置換も行なえるUNOディスパッチコマンド

話題


About: UNO (Universal Network Objects)
About: LibreOffice
About: Apache OpenOffice
About: Writer

この記事の目次


開始コンテキスト


  • 読者は、UNOディスパッチコマンドとは何かおよびそれらの呼び方(各コマンドのURLと引数が分かっていれば)を知っている。

ターゲットコンテキスト



  • 読者は、当該UNOディスパッチコマンドの仕様を知る。

オリエンテーション


JavaC++C#PythonLibreOfficeまたはApache OpenOffice BasicでUNOディスパッチコマンドを実行してその実行から入手可能な全情報を取得する方法を説明する記事があります。

このシリーズでこれまでに挙げたUNOディスパッチコマンドのアプリケーション基盤用一覧Writer用一覧Calc用一覧があります。


本体


1: 仕様


URL: .uno:ExecuteSearch

説明: このコマンドは、当該テキストドキュメントに対して、指定された文字列またはパラグラフスタイルを検索、または指定された正規表現で検索を行ないます。検索は、次の出現または全出現に対して行なえます。大文字小文字区別、類似性度合い、等を指定できます。見つかった文字列群、パラグラフスタイル群は、オプションで、指定された置換文字列またはパラグラフスタイルで置換することもできます。

引数(タイプはUNOのデータタイプ):

名前タイプ
SearchItem.StyleFamilyshort使用されていない模様
SearchItem.CellTypeshort使用されていない模様
SearchItem.RowDirectionboolean使用されていない模様
SearchItem.AllTablesboolean使用されていない模様
SearchItem.SearchFilteredboolean使用されていない模様
SearchItem.Backwardboolean検索が逆方向に行われるか否か: true -> 逆方向に行われる、false -> 順方向に行われる
SearchItem.Patternboolean検索がパラグラフスタイル検索であるか否か: true -> パラグラフスタイル検索、false -> 文字列検索
SearchItem.Contentboolean使用されていない模様
SearchItem.AsianOptionsboolean検索で日本語の'類似発音'文字列を見つけるか否か: true -> '類似発音'文字列を見つける、false -> '類似発音'文字列を見つけない
SearchItem.AlgorithmTypeshort文字列検索アルゴリズム: 0 -> プレーンテキスト検索、1 -> 正規表現検索、2 -> 類似性検索
SearchItem.SearchFlagslong以下のフラグ群の合計: 16 -> 全体が検索表現に一致する単語のみを検索、2048 -> 選択されている単語群のみを検索対象とする、4096 -> 使用されていない模様、65536 -> 類似性検索(Weighted Levenshtein Distance検索)において、類似性基準を緩和する (参考ドキュメントによると「the search is also successful if the combined pool for insertions and deletions is below a doubled calculated limit and replacements are treated differently; additionally, swapped characters are counted as one replacement」、それがどういう意味であろうと)。もっと情報(特に'65536'について)が必要であれば、こちらを参照。
SearchItem.SearchStringstring検索表現(プレーン文字列、正規表現、パラグラフスタイル名、のいずれか)
SearchItem.ReplaceStringstring置換表現(置換文字列、置換パラグラフスタイル名、のいずれか)
SearchItem.Localecom.sun.star.lang.Locale大文字小文字無区別検索で使用されるロケール(こちらを参照)
SearchItem.ChangedCharslong類似であると判定されるのに許容される最大変更文字数
SearchItem.DeletedCharslong類似であると判定されるのに許容される最大削除文字数
SearchItem.InsertedCharslong類似であると判定されるのに許容される最大挿入文字数
SearchItem.TransliterateFlagslong言語固有フラグ群の合計: 256 -> 大文字小文字を区別しない、1024 -> 半角全角を区別しない、1073741824 -> 発音区別符号の有無を区別しない、等(多すぎてここでは引用できない: 上記以外のものについては、こちらおよびこちらを参照)
SearchItem.Commandshort実行タイプ: 0 -> 次の出現を見つける、1 -> 全ての出現を見つける、2 -> カレントの出現を置換して次の出現を見つける、3 -> 全ての出現を置換する
SearchItem.SearchStartPointXlong次の出現を見つける検索の開始位置X座標(twips)('SearchItem.SearchStartPointY'共に値'0'の場合、開始位置が指定されないことを意味し、検索はカレントカーソルから行われることを意味する)
SearchItem.SearchStartPointYlong次の出現を見つける検索の開始位置Y座標(twips)('SearchItem.SearchStartPointX'共に値'0'の場合、開始位置が指定されないことを意味し、検索はカレントカーソルから行われることを意味する)
SearchItem.SearchFormattedboolean使用されていない模様
SearchItem.AlgorithmType2short使用されていない模様
Quietboolean使用されていない模様

関連情報(com.sun.star.frame.FeatureStateEvent.Stateの値)(タイプはUNOのデータタイプ):

タイプ
N/Avoid

結果情報(com.sun.star.frame.DispatchResultEvent.Resultの値)(タイプはUNOのデータタイプ):

場合タイプ
何かが見つかったbooleantrue
その他の場合N/Avoid

<このシリーズの前の記事 | このシリーズの目次 | このシリーズの次の記事>