ITextRange2
COMIDispatch (デュアル)comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。公式ドキュメント
ITextRange2 インターフェイスは ITextRange から派生しており、そのオブジェクトは、プログラムがストーリー内のテキストを選択し、そのテキストを調べたり変更したりできるようにする強力な編集およびデータバインディングツールです。
メソッド 40
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
範囲内の文字数を取得します。
| pcch | INT* | out | 符号付きの文字数。 |
戻り値
型: HRESULT
メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
文字数は、範囲のアクティブ端の文字位置とアンカー端の文字位置の差です。一部の Text Object Model (TOM) 実装では、アクティブ端は選択範囲 (ITextSelection インターフェイスで表される) に対してのみ存在する場合があります。リッチエディットコントロールにおけるテキスト範囲の TOM 実装 (ITextRange インターフェイスで表される) にもアクティブ端があります。
現在選択されているテーブルの行または列内のセルのパラメーターを保持する cells オブジェクトを取得します。
| ppCells | IUnknown** | out | cells オブジェクト。 |
戻り値
型: HRESULT
メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。
現在選択されている列の列プロパティを取得します。
| ppColumn | IUnknown** | out | 現在選択されている列の列プロパティ。 |
戻り値
型: HRESULT
メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。
現在の範囲内のアクティブなサブ範囲を含む、サブ範囲の数を取得します。
| pCount | INT* | out | アクティブなサブ範囲を含まないサブ範囲の数。 |
戻り値
型: HRESULT
メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
文字を含まない範囲、または 1 文字の範囲を選択した場合、数は 1 になります。ただし、ある単語を選択し、別の場所へ移動して、最初の単語に接していない 2 つ目の単語を選択した場合は、数は 2 になります。
プログラムからサブ範囲を追加するには、ITextRange2::AddSubrange を参照してください。
range オブジェクトの複製を取得します。
| ppRange | ITextRange2** | out | 複製された範囲。 |
戻り値
型: HRESULT
メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
この範囲が ITextSelection2 オブジェクトである場合、返される複製は ITextRange2 オブジェクトになります。詳細については、ITextRange::FindText メソッドを参照してください。
現在の範囲の文字属性を保持する ITextFont2 オブジェクトを取得します。
| ppFont | ITextFont2** | out | ITextFont2 オブジェクト。 |
戻り値
型: HRESULT
メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。
範囲の文字書式属性を設定します。
| pFont | ITextFont2* | inoptional | 目的の文字書式属性を保持する font オブジェクト。 |
戻り値
型: HRESULT
メソッドが成功した場合は S_OK を返します。失敗した場合は、以下のいずれかの COM エラーコードを返します。COM エラーコードの詳細については、Error Handling in COM を参照してください。
| リターンコード | 説明 |
|---|---|
| 無効な引数です。 | |
| 書き込みアクセスが拒否されました。 | |
| メモリが不足しています。 |
現在の範囲の書式付きテキストを保持する ITextRange2 オブジェクトを取得します。
| ppRange | ITextRange2** | out | 書式付きテキスト。 |
戻り値
型: HRESULT
メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。
この範囲のテキストを、指定した範囲の書式付きテキストに設定します。
| pRange | ITextRange2* | inoptional | この範囲のテキストを置き換える書式付きテキストを含む範囲。 |
戻り値
型: HRESULT
メソッドが成功した場合は S_OK を返します。失敗した場合は、以下のいずれかの COM エラーコードを返します。COM エラーコードの詳細については、Error Handling in COM を参照してください。
| リターンコード | 説明 |
|---|---|
| 無効な引数です。 | |
| 書き込みアクセスが拒否されました。 | |
| メモリが不足しています。 |
この範囲の gravity を取得します。
| pValue | INT* | out | gravity の値。次のいずれかになります。 tomGravityUItomGravityBacktomGravityForetomGravityIntomGravityOut |
戻り値
型: HRESULT
メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。
この範囲の gravity を設定します。
| Value | INT | in | 新しい gravity の値。次のいずれかになります。 tomGravityUItomGravityBacktomGravityForetomGravityIntomGravityOut |
戻り値
型: HRESULT
メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。
範囲の段落属性を保持する ITextPara2 オブジェクトを取得します。
| ppPara | ITextPara2** | out | ITextPara2 オブジェクト。 |
戻り値
型: HRESULT
メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。
範囲の段落書式属性を設定します。
| pPara | ITextPara2* | inoptional | 目的の段落書式。 |
戻り値
型: HRESULT
メソッドが成功した場合は S_OK を返します。失敗した場合は、以下のいずれかの COM エラーコードを返します。COM エラーコードの詳細については、Error Handling in COM を参照してください。
| リターンコード | 説明 |
|---|---|
| 無効な引数です。 | |
| 書き込みアクセスが拒否されました。 | |
| メモリが不足しています。 |
現在選択されている行の行プロパティを取得します。
| ppRow | ITextRow** | out | 行プロパティ。 |
戻り値
型: HRESULT
メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。
範囲の開始文字位置を含む段落の先頭の文字位置を取得します。
| pValue | INT* | out | 範囲の開始文字位置を含む段落の先頭。 |
戻り値
型: HRESULT
メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。
現在選択されているテーブルのテーブルプロパティを取得します。
| ppTable | IUnknown** | out | テーブルプロパティ。 |
戻り値
型: HRESULT
メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
挿入ポイントがテーブル内にあるときにテーブルを選択するには、ITextRange::Expand(tomTable) を呼び出します。
注: このメソッドは RichEdit では実装されていません (テーブル機能については ITextRow を参照してください)。
範囲に関連付けられた URL テキストを返します。
| pbstr | LPWSTR* | out | 範囲に関連付けられた URL テキスト。 |
戻り値
型: HRESULT
メソッドが成功した場合は S_OK を返します。失敗した場合は、以下のいずれかの COM エラーコードを返します。COM エラーコードの詳細については、Error Handling in COM を参照してください。
| リターンコード | 説明 |
|---|---|
| 無効な引数です。 | |
| メモリが不足しています。 |
解説(Remarks)
このメソッドは、範囲の開始位置と終了位置を、フレンドリ名 (存在する場合) を含むハイパーリンク全体の位置に設定します。
この範囲のテキストを、指定した URL のテキストに設定します。
| bstr | LPWSTR | in | 選択されたフレンドリ名の URL として使用するテキスト。 |
戻り値
型: HRESULT
メソッドが成功した場合は S_OK を返します。失敗した場合は、以下のいずれかの COM エラーコードを返します。COM エラーコードの詳細については、Error Handling in COM を参照してください。
| リターンコード | 説明 |
|---|---|
| 無効な引数です。 | |
| 書き込みアクセスが拒否されました。 | |
| メモリが不足しています。 |
解説(Remarks)
URL 文字列は検証されません。含まれるテキストは引用符で囲む必要があり、必要に応じて先頭にセンチネル文字 0xFDDF を付けます。例: "http://www.msn.com" または 0xFDDF"http://www.msn.com"。範囲は非退化 (nondegenerate) である必要があります。
次の操作が可能です。
- リンクのフレンドリ名の一部が選択されている場合、URL 部分が bstr で置き換えられます。
- 通常の URL の一部が選択されている場合、それがリンクのフレンドリ名になり、bstr が URL になります。
- リンク以外のテキストが選択されている場合:
- そのテキストがリンクのフレンドリ名の直後にあり、bstr が URL と一致する場合、そのテキストはフレンドリ名に追加されます。
- それ以外の場合、そのテキストはリンクのフレンドリ名になり、bstr が URL になります。
この範囲にサブ範囲を追加します。
| cp1 | INT | in | サブ範囲のアクティブ端の文字位置。 |
| cp2 | INT | in | サブ範囲のアンカー端の文字位置。 |
| Activate | INT | in | activate パラメーター。このパラメーターが tomTrue の場合、新しいサブ範囲がアクティブなサブ範囲になり、cp1 がアクティブ端、cp2 がアンカー端になります。 |
戻り値
型: HRESULT
メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。
範囲内のリニア形式の数式をビルドアップ形式に変換するか、現在のビルドアップ形式を変更します。
| Flags | INT | in | 以下のフラグの組み合わせです。 tomChemicalFormulatomHaveDelimitertomMathAlphabeticstomMathApplyTemplatetomMathArabicAlphabeticstomMathAutoCorrecttomMathAutoCorrectExttomMathAutoCorrectOpPairstomMathBackspacetomMathBuildDowntomMathBuildDownOutermosttomMathBuildUpArgOrZonetomMathBuildUpRecursetomMathChangeMasktomMathCollapseSeltomMathDeleteArgtomMathDeleteArg1tomMathDeleteArg2tomMathDeleteColtomMathDeleteRowtomMathEntertomMathInsColAftertomMathInsColBeforetomMathInsRowAftertomMathInsRowBeforetomMathMakeFracLineartomMathMakeFracSlashedtomMathMakeFracStackedtomMathMakeLeftSubSuptomMathMakeSubSuptomMathRemoveOutermosttomMathRichEdittomMathShiftTabtomMathSingleChartomMathSubscripttomMathSuperscripttomMathTabtomNeedTermOptomPlaintomShowEmptyArgPlaceholderstomTeX |
戻り値
型: HRESULT
メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
ITextRange2::BuildUpMath メソッドが非退化の範囲に対して呼び出されると、このメソッドはテキストについて数式イタリック変換 (tomMathAlphabetics が指定されている場合) と数式オートコレクト変換 (tomMathAutoCorrect または tomMathAutoCorrectExt が指定されている場合) をチェックします。次に、選択されたテキストのビルドアップを試みます。成功した場合、メソッドは範囲内の元のテキストをビルドアップ後のテキストで置き換えます。メソッドが範囲に何らかの変更を加えた場合、関数は NOERROR を返し、範囲が結果を選択します。メソッドが範囲を変更する場合は、S_FALSE または Component Object Model (COM) エラーコードを返します。
ITextRange2::BuildUpMath メソッドが退化した範囲に対して呼び出されると、BuildUpMath メソッドは、その範囲を最後に入力された文字の直後にある挿入ポイント (IP) として扱います。メソッドはその文字を、場合によっては先行するいくつかの文字とともに、数式イタリック (tomMathAlphabetics が指定されている場合)、内部数式オートコレクト (tomMathAutoCorrect が指定されている場合)、否定演算子、および一部の演算子ペア (tomMathAutoCorrectOpPairs が指定されている場合) に変換します。IP が引数の内部にある場合、メソッドは IP から数式オブジェクト引数の先頭までのテキスト範囲をスキャンします。それ以外の場合は、現在の数式ゾーンの先頭までスキャンします。数式ゾーンはハードキャリッジリターンまたはソフトな段落終端記号で終了するため、スキャンはこれらの記号で終了します。数式オブジェクト引数または数式ゾーンの先頭からの前方スキャンでは、ビルドアップの対象になり得ないテキストはスキップされます。スキャンが元の開始 IP に到達した場合、次のいずれかの結果になります。
- メソッドが何らかの変更を加えた場合、関数は NOERROR を返し、範囲は変更後のテキストで更新されます。
- メソッドが変更を加えなかった場合、関数は S_FALSE を返し、範囲は変更されないままになります。
この完全なビルドアップの試みが失敗した場合、BuildUpMath メソッドは IP の直前にある式について部分的なビルドアップのチェックを行います。これが成功した場合、メソッドは NOERROR を返し、範囲にはビルドアップ後のテキストで置き換えられるリニアテキストが含まれます。
完全および部分的なビルドアップの試みが失敗した場合、関数はビルドアップ対象のテキストが見つからなかった場合について前述したとおりに戻ります。その他に返される可能性のある値には、E_INVALIDARG (いずれかのインターフェイスポインターが NULL の場合) と E_OUTOFMEMORY があります。
数式の自動ビルドアップでは、終端の空白を削除するオートコレクトが発生した場合を除き、tomNeedTermOp フラグを設定する必要があります。オートコレクトは、ユーザーがオートコレクトを強制するために空白を入力したときに、\alpha のようなテキストを修正する際に発生することがあります。
範囲からサブ範囲を削除します。
| cpFirst | INT | in | サブ範囲の開始文字位置。 |
| cpLim | INT | in | サブ範囲の終了文字位置。 |
戻り値
型: HRESULT
メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。
ソース範囲で指定されたテキスト内の数式インライン関数を検索します。
| pRange | ITextRange2* | inoptional | 範囲のテキスト内で検索する書式付きテキスト。 |
| Count | INT | in | 検索する文字数。 |
| Flags | INT | in | ITextRange::FindText で定義されている、検索を制御するフラグ。 |
| pDelta | INT* | out | スキップされた文字数。 |
戻り値
型: HRESULT
メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
文字列が見つかり、数式インライン関数が存在する場合にそれらがソース範囲内の対応するものと同じであれば、範囲の境界は一致した文字列の境界に変更され、length は文字列の長さに設定されます。
文字列が見つからない場合、範囲は変更されず、length は 0 に設定されます。
この範囲の末尾から指定したオフセットの位置にある文字を取得します。
| pChar | INT* | out | 文字の値。 |
| Offset | INT | in | 範囲の末尾からのオフセット。オフセットが 0 の場合、範囲の末尾の文字を取得します。 |
戻り値
型: HRESULT
メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
このメソッドは、次の点で ITextRange::GetChar と異なります。
- サロゲートペアについて、ペアのリードコードではなく UTF-32 文字を返します。
- 範囲の先頭の文字ではなく、範囲の末尾から指定したオフセットの位置にある 1 つまたは複数の文字コードを取得します。
文字がサロゲートペアのリードコードである場合、対応する UTF-32 文字が返されます。
Offset がストーリーの先頭より前、またはストーリーの末尾の文字を指定している場合、このメソッドは文字コード 0 を返します。
| Offset の値 | 返される文字 |
|---|---|
| 0 | 範囲の末尾の文字。 |
| 負の値で、サロゲートペアの中間にアクセスする場合 | 対応する UTF-32 文字。 |
| 正の値で、サロゲートペアの中間にアクセスする場合 | そのペアの次の UTF-32 文字。 |
この範囲を含む段落のドロップキャップのパラメーターを取得します。
| pcLine | INT* | out | ドロップキャップの行数。値 0 はドロップキャップなしを意味します。 |
| pPosition | INT* | out | ドロップキャップの位置。位置には次のいずれかを指定できます。
|
戻り値
型: HRESULT
メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。
範囲のアクティブ端にあるインラインオブジェクトのプロパティを取得します。
| pType | INT* | out | インラインオブジェクトの種類。次のいずれかになります。 tomSimpleTexttomRubytomHorzVerttomWarichutomAccenttomBoxtomBoxedFormulatomBracketstomBracketsWithSepstomEquationArraytomFractiontomFunctionApplytomLeftSubSuptomLowerLimittomMatrixtomNarytomOpChartomOverbartomPhantomtomRadicaltomSlashedFractiontomStacktomStretchStacktomSubscripttomSubSuptomSuperscripttomUnderbartomUpperLimit | ||||||||||||||||||||||||||||||||||||||||||||||||
| pAlign | INT* | out | インラインオブジェクトの配置。インラインオブジェクトの種類に応じて、次のいずれかの意味になります。
| ||||||||||||||||||||||||||||||||||||||||||||||||
| pChar | INT* | out | インラインオブジェクトの文字。 各オブジェクトの種類に対する値を次の表に示します。
| ||||||||||||||||||||||||||||||||||||||||||||||||
| pChar1 | INT* | out | 閉じ tomBrackets 文字。一覧については Unicode Technical Note 28 の付録 B「Character Keywords and Properties」を参照してください。 | ||||||||||||||||||||||||||||||||||||||||||||||||
| pChar2 | INT* | out | tomBracketsWithSep の区切り文字。 U+007C: 追加の間隔なしの縦棒U+2223: 追加の間隔ありの縦棒 | ||||||||||||||||||||||||||||||||||||||||||||||||
| pCount | INT* | out | インラインオブジェクトの引数の数。 | ||||||||||||||||||||||||||||||||||||||||||||||||
| pTeXStyle | INT* | out | インラインオブジェクトの TeX スタイル。次のいずれかの値になります。 メモ tomStyleDefault の動作はコンテキストに依存します。
tomStyleDefaulttomStyleScriptScriptCrampedtomStyleScriptScripttomStyleScriptCrampedtomStyleScripttomStyleTextCrampedtomStyleTexttomStyleDisplayCrampedtomStyleDisplay | ||||||||||||||||||||||||||||||||||||||||||||||||
| pcCol | INT* | out | インラインオブジェクトの列数 (tomMatrix のみ)。 | ||||||||||||||||||||||||||||||||||||||||||||||||
| pLevel | INT* | out | インラインオブジェクトの 0 から始まるネストレベル。 |
戻り値
型: HRESULT
メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
Unicode Technical Note 28 では、アクティブ端の文字がインラインオブジェクトの開始区切り文字である場合の配置と文字の値について詳しく説明されています。
その文字が開始区切り文字でない場合、character パラメーターと column パラメーターは 0 に設定され、count は 0 から始まる引数インデックスに設定され、その他のパラメーターは、最も内側のインラインオブジェクト引数のアクティブ端の文字プロパティに従って設定されます。
プロパティの値を取得します。
| Type | INT | in | プロパティ ID。 |
| pValue | INT* | out | プロパティの値。 |
戻り値
型: HRESULT
メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。
現在の範囲について、指定した種類の四角形を取得します。
| Type | INT | in | 取得する四角形の種類。このパラメーターには、次の各表からそれぞれ 1 つの値を含めることができます。 tomAllowOffClienttomClientCoordtomObjectArgtomTransform垂直位置を示すには、次の値のいずれかを使用します。
水平位置を示すには、次の値のいずれかを使用します。
| ||||||||||||
| pLeft | INT* | out | 四角形の左座標。 | ||||||||||||
| pTop | INT* | out | 四角形の上座標。 | ||||||||||||
| pRight | INT* | out | 四角形の右座標。 | ||||||||||||
| pBottom | INT* | out | 四角形の下座標。 | ||||||||||||
| pHit | INT* | out | 範囲のヒットテスト値。 |
戻り値
型: HRESULT
メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。
範囲内のサブ範囲を取得します。
| iSubrange | INT | in | サブ範囲のインデックス。 |
| pcpFirst | INT* | out | サブ範囲の開始の文字位置。 |
| pcpLim | INT* | out | サブ範囲の終了の文字位置。 |
戻り値
型: HRESULT
メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
サブ範囲は次のように選択されます。
| iSubrange の値 | サブ範囲 |
|---|---|
| 0 に等しい | 現在のアクティブなサブ範囲を取得します。 |
| 0 より大きい | iSubrange で指定されたインデックスのサブ範囲を、サブ範囲が追加された順序で取得します。これには追加の計算が必要です。 |
| 0 より小さい | iSubrange で指定されたインデックスのサブ範囲を、文字位置の昇順で取得します。 |
アクティブなサブ範囲を含まないサブ範囲の数については、ITextRange2::GetCount を参照してください。
指定した変換フラグに従って、この範囲内のテキストを取得します。
| Flags | INT | in | テキストの取得方法を制御するフラグ。フラグには次の値の組み合わせを含めることができます。Flags 値に 0 を指定することは、ITextRange::GetText メソッドを呼び出すことと同じです。 tomAdjustCRLFtomUseCRLFtomIncludeNumberingtomNoHiddentomNoMathZoneBracketstomTextizetomAllowFinalEOPtomTranslateTableCelltomFoldMathAlphatomLanguageTag |
| pbstr | LPWSTR* | out | 範囲内のテキスト。 |
戻り値
型: HRESULT
メソッドが成功した場合は S_OK を返します。失敗した場合は、以下のいずれかの COM エラーコードを返します。COM エラーコードの詳細については、Error Handling in COM を参照してください。
| リターンコード | 説明 |
|---|---|
| 無効な引数です。 | |
| 書き込みアクセスが拒否されました。 | |
| メモリが不足しています。 |
解説(Remarks)
このメソッドには、範囲の BCP-47 言語タグを取得するための特別なフラグ tomLanguageTag が含まれています。これは業界標準の言語タグであり、ITextFont::GetLanguageID を呼び出して取得する言語コード識別子 (LCID) よりも適している場合があります。
この範囲の末尾にある 16 進数を Unicode 文字に変換し、置き換えます。
戻り値
型: HRESULT
メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
0x10000 から 0x10FFFF までの 16 進値に対する一部の Unicode サロゲートは内部使用向けです。
| 16 進値 | 使用可否 |
|---|---|
| 7, 0xFDD0 — 0xFDEF, 0xFFF9 — 0xFFFF | 内部使用のみ |
| C0 範囲 (0-0x1F) の 0xA — 0xD | 使用可能 |
| C1 範囲 (0x80 — 0x9F) | 内部使用のみ |
範囲にテーブルを挿入します。
| cCol | INT | in | テーブルの列数。 |
| cRow | INT | in | テーブルの行数。 |
| AutoFit | INT | in | セルを対象スペースにどのように収めるかを指定します。 |
戻り値
型: HRESULT
メソッドが成功した場合は S_OK を返します。失敗した場合は、以下のいずれかの COM エラーコードを返します。COM エラーコードの詳細については、Error Handling in COM を参照してください。
| リターンコード | 説明 |
|---|---|
| 無効な引数です。 | |
| メモリが不足しています。 |
解説(Remarks)
範囲が非退化の場合、テーブルは範囲内のテキストを置き換えます。列の幅は AutoFit パラメーターに従って計算され、罫線は幅 0.5 ポイントの黒の実線になります。これらの既定値を変更するには、ITextRange2::GetRow メソッドを使用して ITextRow インターフェイスを取得します。
この範囲内のビルドアップされた数式、ルビ、およびその他のインラインオブジェクトを、リニア化された形式に変換します。
| Flags | INT | in | 以下のフラグの組み合わせです。 tomMathAlphabeticstomMathBuildDownOutermosttomMathBuildUpArgOrZonetomMathRemoveOutermosttomPlaintomTeX |
戻り値
型: HRESULT
メソッドが成功した場合は S_OK を返します。失敗した場合は、以下のいずれかの COM エラーコードを返します。COM エラーコードの詳細については、Error Handling in COM を参照してください。
| リターンコード | 説明 |
|---|---|
| メモリが不足しています。 |
解説(Remarks)
リニア化が成功した場合、元々選択されていた範囲はリニア化されたバージョンに置き換えられます。
tomMathRemoveOutermost または tomMathBuildDownOutermost のビルドダウンモードが指定されている場合、ビルドダウン操作は tomMathChangeMask の値の影響を受けることがあります。
これらのビルドダウンモードの主な目的は、数式コンテキストメニューによって公開される、ビルドアップされた数式オブジェクトの変換を容易にすることです。
たとえば、次のように積み重ね分数をリニア分数に変換する場合、 (a+b/c)/(u+x/y)→((a+b/c))⁄((u+x/y))、 かっこを挿入する必要があります。そうしないと、内部的にはリニア分数が元の分子と分母を保持しているにもかかわらず、 (a+b/c)/(u+x/y)→(a+b/c)⁄(u+x/y) のように正しくないように見える変換になります。
この場合のリニア形式にはかっこが含まれるため、ビルドダウン処理は自動的にかっこを挿入します。また、積み重ね分数演算子 U+002F をリニア分数演算子 U+2215 に置き換える特別な変更が行われます。ビルドアップは U+2215 についてはかっこを破棄しませんが、U+002F については破棄します。
指定したサブ範囲を、この範囲のアクティブなサブ範囲にします。
| cpAnchor | INT | in | アクティブにするサブ範囲のアンカー端の文字位置。 |
| cpActive | INT | in | アクティブにするサブ範囲のアクティブ端の文字位置。 |
戻り値
型: HRESULT
メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
アクティブなサブ範囲は、この範囲が選択範囲である場合に Shift + 方向キーなどの操作の影響を受けるサブ範囲です。
現在の範囲を含む段落のドロップキャップのパラメーターを設定します。
| cLine | INT | in | ドロップキャップの行数。0 はドロップキャップなしを意味します。 |
| Position | INT | in | ドロップキャップの位置。次のいずれかになります。
|
戻り値
型: HRESULT
メソッドが成功した場合は S_OK を返します。失敗した場合は、以下のいずれかの COM エラーコードを返します。COM エラーコードの詳細については、Error Handling in COM を参照してください。
| リターンコード | 説明 |
|---|---|
| 無効な引数です。 |
解説(Remarks)
現在の範囲は退化していてもよく、またはドロップキャップの段落全体までを選択することもできます。範囲に複数の段落が含まれている場合、このメソッドは E_FAIL を返します。
指定したプロパティの値を設定します。(ITextRange2.SetProperty)
| Type | INT | in | 設定するプロパティの ID。 |
| Value | INT | in | 新しいプロパティの値。 |
戻り値
型: HRESULT
メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。
この範囲のテキストを設定します。
| Flags | INT | in | テキストを範囲に挿入する方法を制御するフラグ。フラグには次のいずれかの値を指定できます。 tomUnicodeBiDitomMathCFChecktomUnlinktomUnhidetomCheckTextLimittomLanguageTag |
| bstr | LPWSTR | in | 新しいテキスト。 |
戻り値
型: HRESULT
メソッドが成功した場合は S_OK を返します。失敗した場合は、以下のいずれかの COM エラーコードを返します。COM エラーコードの詳細については、Error Handling in COM を参照してください。
| リターンコード | 説明 |
|---|---|
| 無効な引数です。 | |
| 書き込みアクセスが拒否されました。 | |
| メモリが不足しています。 |
解説(Remarks)
bstr パラメーターが NULL の場合、範囲内のテキストは削除されます。
このメソッドは ITextRange:: SetText に似ていますが、さまざまな挿入オプションを制御するフラグ (範囲の BCP-47 言語タグを取得するための特別なフラグ tomLanguageTag を含む) をクライアントが指定できます。これは業界標準の言語タグであり、言語コード識別子 (LCID) を使用する ITextFont::SetLanguageID よりも適している場合があります。
このテキスト範囲の開始位置の前にある 1 つまたは複数の Unicode 文字を 16 進数に変換し、それを選択します。
戻り値
型: HRESULT
メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
0x10000 から 0x10FFFF までの 16 進値に対する一部の Unicode サロゲートは内部使用向けです。
| 16 進値 | 使用可否 |
|---|---|
| 0xFDD0 – 0xFDEF, 0xFFF9-0xFFFF | 内部使用のみ |
| C0 範囲 (0-0x1F) の 0xA – 0xD | 使用可能 |
| C1 範囲 (0x80 – 0x9F) | 内部使用のみ |
退化した範囲について、インラインオブジェクトのプロパティを設定または挿入します。
| Type | INT | in | ITextRange2::GetInlineObject で定義されているオブジェクトの種類。 |
| Align | INT | in | ITextRange2::GetInlineObject で定義されているオブジェクトの配置。 |
| Char | INT | in | ITextRange2::GetInlineObject で定義されているオブジェクトの文字。 |
| Char1 | INT | in | 閉じかっこ (tomBrackets) の文字。文字の一覧については Unicode Technical Note 28 を参照してください。 |
| Char2 | INT | in | tomBracketsWithSeps の区切り文字。次のいずれかの値になります。 |
| Count | INT | in | インラインオブジェクトの引数の数。 |
| TeXStyle | INT | in | ITextRange2::GetInlineObject で定義されている TeX スタイル。 |
| cCol | INT | in | インラインオブジェクトの列数。tomMatrix のみ。 |
戻り値
型: HRESULT
メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。
指定した数式関数名に関連付けられた数式関数の種類を取得します。
| bstr | LPWSTR | in | 数式関数の種類を判定するために調べられる数式関数名。 |
| pValue | INT* | out | bstr で指定された関数名の数式関数の種類。次のいずれかの値になります。 tomFunctionTypeNonetomFunctionTypeTakesArgtomFunctionTypeTakesLimtomFunctionTypeTakesLim2tomFunctionTypeIsLim |
戻り値
型: HRESULT
メソッドが成功した場合は NOERROR を返します。それ以外の場合は HRESULT エラーコードを返します。
この範囲に画像を挿入します。
| width | INT | in | 画像の幅 (HIMETRIC 単位、0.01 mm)。 | ||||||||
| height | INT | in | 画像の高さ (HIMETRIC 単位)。 | ||||||||
| ascent | INT | in | Type が TA_BASELINE の場合、このパラメーターは、画像の上端がテキストのベースラインより上に伸びる距離 (HIMETRIC 単位) です。Type が TA_BASELINE で ascent が 0 の場合、画像の下端がテキストのベースラインに配置されます。 | ||||||||
| Type | INT | in | 画像の垂直方向の配置。次のいずれかの値になります。
| ||||||||
| bstrAltText | LPWSTR | in | 画像の代替テキスト。 | ||||||||
| pStream | IStream* | inoptional | 画像データを含むストリーム。 |
戻り値
型: HRESULT
このメソッドが成功した場合は S_OK を返します。それ以外の場合は HRESULT エラーコードを返します。
解説(Remarks)
範囲が非退化の場合、画像は範囲内のテキストを置き換えます。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_ITextRange2 "{C241F5E2-7206-11D8-A2C7-00A0D1D6C6B3}" #usecom global ITextRange2 IID_ITextRange2 "{}" #comfunc global ITextRange2_GetCch 68 var #comfunc global ITextRange2_GetCells 69 sptr #comfunc global ITextRange2_GetColumn 70 sptr #comfunc global ITextRange2_GetCount 71 var #comfunc global ITextRange2_GetDuplicate2 72 sptr #comfunc global ITextRange2_GetFont2 73 sptr #comfunc global ITextRange2_SetFont2 74 sptr #comfunc global ITextRange2_GetFormattedText2 75 sptr #comfunc global ITextRange2_SetFormattedText2 76 sptr #comfunc global ITextRange2_GetGravity 77 var #comfunc global ITextRange2_SetGravity 78 int #comfunc global ITextRange2_GetPara2 79 sptr #comfunc global ITextRange2_SetPara2 80 sptr #comfunc global ITextRange2_GetRow 81 sptr #comfunc global ITextRange2_GetStartPara 82 var #comfunc global ITextRange2_GetTable 83 sptr #comfunc global ITextRange2_GetURL 84 var #comfunc global ITextRange2_SetURL 85 wstr #comfunc global ITextRange2_AddSubrange 86 int,int,int #comfunc global ITextRange2_BuildUpMath 87 int #comfunc global ITextRange2_DeleteSubrange 88 int,int #comfunc global ITextRange2_Find 89 sptr,int,int,var #comfunc global ITextRange2_GetChar2 90 var,int #comfunc global ITextRange2_GetDropCap 91 var,var #comfunc global ITextRange2_GetInlineObject 92 var,var,var,var,var,var,var,var,var #comfunc global ITextRange2_GetProperty 93 int,var #comfunc global ITextRange2_GetRect 94 int,var,var,var,var,var #comfunc global ITextRange2_GetSubrange 95 int,var,var #comfunc global ITextRange2_GetText2 96 int,var #comfunc global ITextRange2_HexToUnicode 97 #comfunc global ITextRange2_InsertTable 98 int,int,int #comfunc global ITextRange2_Linearize 99 int #comfunc global ITextRange2_SetActiveSubrange 100 int,int #comfunc global ITextRange2_SetDropCap 101 int,int #comfunc global ITextRange2_SetProperty 102 int,int #comfunc global ITextRange2_SetText2 103 int,wstr #comfunc global ITextRange2_UnicodeToHex 104 #comfunc global ITextRange2_SetInlineObject 105 int,int,int,int,int,int,int,int #comfunc global ITextRange2_GetMathFunctionType 106 wstr,var #comfunc global ITextRange2_InsertImage 107 int,int,int,int,wstr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。#define global IID_ITextRange2 "{C241F5E2-7206-11D8-A2C7-00A0D1D6C6B3}" #usecom global ITextRange2 IID_ITextRange2 "{}" #comfunc global ITextRange2_GetCch 68 sptr #comfunc global ITextRange2_GetCells 69 sptr #comfunc global ITextRange2_GetColumn 70 sptr #comfunc global ITextRange2_GetCount 71 sptr #comfunc global ITextRange2_GetDuplicate2 72 sptr #comfunc global ITextRange2_GetFont2 73 sptr #comfunc global ITextRange2_SetFont2 74 sptr #comfunc global ITextRange2_GetFormattedText2 75 sptr #comfunc global ITextRange2_SetFormattedText2 76 sptr #comfunc global ITextRange2_GetGravity 77 sptr #comfunc global ITextRange2_SetGravity 78 int #comfunc global ITextRange2_GetPara2 79 sptr #comfunc global ITextRange2_SetPara2 80 sptr #comfunc global ITextRange2_GetRow 81 sptr #comfunc global ITextRange2_GetStartPara 82 sptr #comfunc global ITextRange2_GetTable 83 sptr #comfunc global ITextRange2_GetURL 84 sptr #comfunc global ITextRange2_SetURL 85 wstr #comfunc global ITextRange2_AddSubrange 86 int,int,int #comfunc global ITextRange2_BuildUpMath 87 int #comfunc global ITextRange2_DeleteSubrange 88 int,int #comfunc global ITextRange2_Find 89 sptr,int,int,sptr #comfunc global ITextRange2_GetChar2 90 sptr,int #comfunc global ITextRange2_GetDropCap 91 sptr,sptr #comfunc global ITextRange2_GetInlineObject 92 sptr,sptr,sptr,sptr,sptr,sptr,sptr,sptr,sptr #comfunc global ITextRange2_GetProperty 93 int,sptr #comfunc global ITextRange2_GetRect 94 int,sptr,sptr,sptr,sptr,sptr #comfunc global ITextRange2_GetSubrange 95 int,sptr,sptr #comfunc global ITextRange2_GetText2 96 int,sptr #comfunc global ITextRange2_HexToUnicode 97 #comfunc global ITextRange2_InsertTable 98 int,int,int #comfunc global ITextRange2_Linearize 99 int #comfunc global ITextRange2_SetActiveSubrange 100 int,int #comfunc global ITextRange2_SetDropCap 101 int,int #comfunc global ITextRange2_SetProperty 102 int,int #comfunc global ITextRange2_SetText2 103 int,wstr #comfunc global ITextRange2_UnicodeToHex 104 #comfunc global ITextRange2_SetInlineObject 105 int,int,int,int,int,int,int,int #comfunc global ITextRange2_GetMathFunctionType 106 wstr,sptr #comfunc global ITextRange2_InsertImage 107 int,int,int,int,wstr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。