Ambient — Alpha オートメーション オブジェクト モデル

Alpha プラグインで使用するオブジェクトのドキュメントです。

このドキュメントは暫定的なものであり、記述されている内容は将来変更される可能性があります。また Alpha の実装状況などにより、実装されていないオブジェクト、メンバも多数存在します。

このリファレンスはスクリプトユーザ向けです。型名などはネイティブユーザが使用するものとは異なります。例えば論理型 (boolean) や文字列 (string) はスクリプト環境の適切なデータ型を意味しますが、実際は OLE 型である VARIANT_BOOL や BSTR を使用します。

バージョン
Ambient 0.5.3α
ホームページ
<http://www.interq.or.jp/student/exeal/dss/res/alpha/>
<http://sourceforge.jp/projects/alpha/>

Contents

オブジェクト階層

Alpha のオブジェクトモデルは以下のとおりです (未実装のものも含まれています)。
Ambient Object Model for Alpha

IApplication インターフェイス (Application オブジェクト)

Application オブジェクトは Alpha 自体を表現し、Alpha オブジェクトモデルの最上位オブジェクトになります。Alpha の他のオブジェクト (ホスト以外) にアクセスするにはこのオブジェクトを経由する必要があります。

スクリプト中でこのオブジェクトを参照するには識別子 AmbientAlpha を使用します (後者は古い名前)

Application メンバ
プロパティ
Active : boolean (R/W)Alpha のアクティブな状態
ActiveDocument : Document (R)アクティブなドキュメント
Application : Application (R)アプリケーションオブジェクト
CurrentDirectory : string (R/W)現在のディレクトリ
Documents : Documents (R)開いている全てのドキュメント
FullName : string (R)アプリケーションのフルパス
Height : long (R/W)ウィンドウの高さ
Left : long (R/W)ウィンドウ左上端の x 座標
Name : string (R, default)アプリケーション名 (デフォルト)
Top : long (R/W)ウィンドウ左上端の y 座標
Version : string (R)アプリケーションのバージョン
Visible : boolean (R/W)ウィンドウの表示状態
Width : long (R/W)ウィンドウの幅
WindowState : WindowState (R/W)ウィンドウの状態
メソッド
ClearOutput(
 bActivate : boolean ) : void
Alpha 出力ウィンドウの [一般] タブの内容を消去します。bActivateTrue を指定するとタブがアクティブになります
Quit(
 nErrorCode : int = 0 ) : void
Alpha を終了します。nErrorCode でエラーコードを返すことができます
WriteToOutput(
 bstrOutput : string,
 bActivate : boolean ) : void
Alpha 出力ウィンドウの [一般] タブに bstrOutput を出力します。bActivateTrue を指定するとタブがアクティブになります
WriteLineToOutput(
 bstrOutput : string,
 bActivate : boolean ) : void
Alpha 出力ウィンドウの [一般] タブに bstrOutput を出力し改行します。bActivateTrue を指定するとタブがアクティブになります

IDocuments インターフェイス (Documents コレクション)

開いている全てのドキュメントです。ドキュメント全体を統括します。このオブジェクトはコレクションです。

Documents メンバ
プロパティ
Application : Application (R)アプリケーションオブジェクト
Count : long (R)開いているドキュメントの数
メソッド
AddNew() : void無題のドキュメントを新しく開きます
CloseAll() : void全てのドキュメントを閉じます
Item(
 iDocument : long ) : Document (default)
iDocument 番目のドキュメントを返します (デフォルト)
Open(
 bstrPathName : string,
 nShareMode : FileShareMode,
 nCodePage : long = 0 ) : void
ファイルを開きます。nShareMode でファイルの共有モードを、nCodePage でコードページを指定します。コードページを省略するとシステムデフォルトのコードページが使用されます。
SaveAll() : void全てのドキュメントを保存します

IDocument インターフェイス (Document オブジェクト)

開いているドキュメントです。

Document メンバ
プロパティ
Active : boolean (R/W)ドキュメントのアクティブ状態
Application : Application (R)アプリケーションオブジェクト
BreakType : BreakType (R/W)ドキュメントで使用する既定の改行コード
CodePage : long (R/W)ドキュメントのコードページ
FileName : string (R)ドキュメントのファイル名
FilePath : string (R, default)ドキュメントのファイルパス (デフォルト)
Modified : boolean (R/W)ドキュメントが修正されたかどうか
ReadOnly : boolean (R/W)ドキュメントが読み取り専用かどうか
メソッド
ClearUndoBuffer() : voidアンドゥバッファを空にします
Close(
 bConfirm : boolean = true) : void
ドキュメントを閉じます。bConfirmTrue を指定すると更新されたドキュメントに対して保存するかを問い合わせるダイアログが表示されます
Redo() : voidリドゥを行います
Save(
 bstrFileName : string,
 nBreakType : BreakType = ABT_AUTO,
 nCodePage : long = 0 ) : void
ドキュメントを名前を付けて保存します。nBreakType で改行コードを、nCodePage でコードページを指定します
Undo() : voidアンドゥを行います

IHTMLDocument インターフェイス (HTMLDocument オブジェクト)

仕様が決まっていません (MSXML のものとは異なります)。

ITextDocument インターフェイス (TextDocument オブジェクト)

テキストエディタで編集中のドキュメントです。IDocument のメンバを全て継承します。

TextDocument メンバ
プロパティ
EndPoint : TextPoint (R)ドキュメントの終端
StartPoint : TextPoint (R)ドキュメントの先頭
TextProcessor : TextProcessor (R)テキストエディタ

ITextProcessor インターフェイス (TextProcessor オブジェクト)

ドキュメントの編集を行います。このオブジェクトにはデフォルトメンバはありません。

TextProcessor メンバ
プロパティ
Application : Application (R)アプリケーションオブジェクト
OvertypeMode : boolean (R/W)上書きモード
Selection : TextSelection (R)選択範囲オブジェクト
TabWidth : short (R/W)タブ幅
メソッド
BackSpace() : void1つ前の文字、または選択範囲の文字列を削除します
BeginEditCollection() : voidアンドゥグループの収集を開始します。以前のアンドゥグループの収集は終了します
CreateEditPoint(
 oTextPoint : TextPoint ) : EditPoint
編集ポイントを作成します
Delete() : void1つ後の文字、または選択範囲の文字列を削除します
EndEditCollection() : voidアンドゥグループの収集を終了します
FindText(
 bstrFindWhat : string,
 ftf : FindTextFlags ) : boolean
文字列を検索し、見付かった部分を選択状態にします。検索が失敗した場合は False を返します。引数 ftf で検索条件を指定します
Indent() : voidタブを挿入します。選択範囲が複数に渡る場合はタブインデントになります
NewLine() : voidドキュメントの既定改行コードで改行します
Paste() : voidクリップボードに保存されている文字列を挿入します
Unindent() : voidタブアンインデントを行います

ITextSelection インターフェイス (TextSelection オブジェクト)

選択範囲、キャレットの操作を行います。Ambient オブジェクトモデルにおける行位置、文字位置、ドキュメント先頭からの絶対オフセットは全て0から始まります。

TextSelection メンバ
プロパティ
ActiveEndGreater : boolean (R)アクティブポイントがアンカーポイントより後方にあれば真
ActivePoint : TextPoint (R)アクティブポイント
AnchorPoint : TextPoint (R)アンカーポイント
Application : Application (R)アプリケーションオブジェクト
BottomPoint : TextPoint (R)選択終了点
Empty : boolean (R)選択が空であれば真
Text : string (R, default)選択中の文字列 (デフォルト)
TextRanges : TextRanges選択の各行を要素とする TextRange オブジェクト
TopPoint : TextPoint選択開始点
メソッド
Cancel() : void選択を解除します
CharNext(
 bExtend : boolean = false,
 nOffset : long = 1 ) : void
キャレットを nOffset 文字進めます。bExtendTrue を指定すると現在の選択は保持されます
CharPrev(
 bExtend : boolean = false,
 nOffset : long = 1 ) : void
キャレットを nOffset 文字戻します。bExtendTrue を指定すると現在の選択は保持されます
Convert(
 ct : ConvertType ) : void
選択範囲のテキストを変換します (未実装)
Copy() : void選択範囲の文字列をクリップボードにコピーします
Cut() : void選択範囲の文字列を削除し、クリップボードにコピーします
LineDown(
 bExtend : boolean = false,
 cLines : long = 1 ) : void
キャレットを cLines 行下に移動します。bExtendTrue を指定すると現在の選択は保持されます
LineUp(
 bExtend : boolean = false,
 cLines : long = 1 ) : void
キャレットを cLines 行上に移動します。bExtendTrue を指定すると現在の選択は保持されます
MoveTo(
 iLine : long,
 iChar : long,
 bExtend : boolean = false ) : void
キャレットを iLineiChar 文字目に移動します。bExtendTrue を指定すると現在の選択は保持されます
MoveToEndOfDocument(
 bExtend : boolean = false ) : void
キャレットをドキュメントの終端に移動します。bExtendTrue を指定すると現在の選択は保持されます
MoveToEndOfLine(
 bExtend : boolean = false ) : void
キャレットを行末に移動します。bExtendTrue を指定すると現在の選択は保持されます
MoveToNextBookmark(
 bExtend : boolean = false ) : void
キャレットを次のブックマークに移動します。bExtendTrue を指定すると現在の選択は保持されます
MoveToPreviousBookmark(
 bExtend : boolean = false ) : void
キャレットを前のブックマークに移動します。bExtendTrue を指定すると現在の選択は保持されます
MoveToStartOfDocument(
 bExtend : boolean = false ) : void
キャレットをドキュメントの先頭に移動します。bExtendTrue を指定すると現在の選択は保持されます
MoveToStartOfLine(
 bExtend : boolean = false ) : void
キャレットを行頭に移動します。bExtendTrue を指定すると現在の選択は保持されます
PageDown(
 bExtend : boolean = false,
 cPages : long = 1 ) : void
キャレットを cPages ページ下に移動します。bExtendTrue を指定すると現在の選択は保持されます
PageUp(
 bExtend : boolean = false,
 cPages : long = 1 ) : void
キャレットを cPages ページ上に移動します。bExtendTrue を指定すると現在の選択は保持されます
Paste() : void選択範囲をクリップボードの内容で置換します
Replace(
 bstrText : string ) : void
選択範囲を bstrText で置換します
SelectAll() : voidドキュメント全体を選択します
SelectLine(
 iLine : long ) : void
iLine 番目の行全体を選択します
SwapAnchor() : voidアクティブポイントとアンカーポイントを入れ替えます
Tabify() : void選択範囲の空白類文字をタブに変換します (未実装)
Untabify() : void選択範囲のタブを空白類文字に変換します (未実装)
WordEndNext(
 bExtend : boolean = false,
 cWords : long = 1 ) : void
キャレットを cWords 個次の単語の末尾に移動します。bExtendTrue を指定すると現在の選択は保持されます (未実装)
WordEndPrev(
 bExtend : boolean = false,
 cWords : long = 1 ) : void
キャレットを cWords 個前の単語の末尾に移動します。bExtendTrue を指定すると現在の選択は保持されます (未実装)
WordNext(
 bExtend : boolean = false,
 cWords : long = 1 ) : void
キャレットを cWords 個次の単語の先頭に移動します。bExtendTrue を指定すると現在の選択は保持されます
WordPrev(
 bExtend : boolean = false,
 cWords : long = 1 ) : void
キャレットを cWords 個前の単語の先頭に移動します。bExtendTrue を指定すると現在の選択は保持されます

ITextRanges インターフェイス (TextRanges コレクション)

TextRange のコレクションです。

TextRanges メンバ
プロパティ
Application : Application (R)アプリケーションオブジェクト
Count : long (R)要素数
メソッド
Item(
 iTextRange : long ) : TextRange (default)
iTextRange 番目のオブジェクトを返します (デフォルト)

ITextRange インターフェイス (TextRange オブジェクト)

2つの TextPoint からなるドキュメントの特定の範囲です。

TextRange メンバ
プロパティ
Application : Application (R)アプリケーションオブジェクト
EndPoint : TextPoint (R)終了点
StartPoint : TextPoint (R)開始点

ITextPoint インターフェイス (TextPoint オブジェクト)

ドキュメント中の位置を表します。

TextPoint メンバ
プロパティ
AbsoluteCharOffset : long (R)ドキュメントの先頭からの文字数
Application : Application (R)アプリケーションオブジェクト
AtEndOfDocument : boolean (R)ドキュメントの終端であれば真
AtEndOfLine : boolean (R)行末であれば真
AtStartOfDocument : boolean (R)ドキュメントの先頭であれば真
AtStartOfLine : boolean (R)行頭であれば真
Char : long (R)何文字目か
Column : long (R)何列目か
Line : long (R)行番号
LineLength : long (R)行の長さ
メソッド
CreateEditPoint() : EditPoint編集ポイントを作成します
EnsureCentered(
 cch : long ) : boolean
現在位置から cch 文字の範囲がビューの中央になるようにスクロールします。範囲がエディタウィンドウに納まらない場合は False を返します
EnsureCentered(
 oOther : TextPoint ) : boolean
現在位置から oOther までの範囲がビューの中央になるようにスクロールします。範囲がエディタウィンドウに納まらない場合は False を返します
EnsureVisible(
 cch : long ) : boolean
現在位置から cch 文字の範囲が可視になるようにスクロールします。範囲がエディタウィンドウに納まらない場合は False を返します
EnsureVisible(
 oOther : TextPoint ) : boolean
現在位置から oOther までの範囲が可視になるようにスクロールします。範囲がエディタウィンドウに納まらない場合は False を返します
EqualTo(
 TextPoint oTextPoint) : boolean
点同士を比較します
GreaterThan(
 TextPoint oTextPoint) : boolean
点同士を比較します
LessThan(
 TextPoint oTextPoint) : boolean
点同士を比較します

IEditPoint インターフェイス (EditPoint オブジェクト)

編集可能な点を表します。ITextPoint のメンバを全て継承します。

IEditPoint メンバ
プロパティ
CharCountBehavior : CharCountBehavior (R/W)文字数の数え方
メソッド
CharNext(
 nOffset : long = 1 ) : void
nOffset 文字次に移動します
CharPrev(
 nOffset : long = 1 ) : void
nOffset 文字前に移動します
Convert(
 ct : ConvertType
 oTextPoint : TextPoint ) : void
現在位置から oTextPoint までの範囲のテキストを変換します (未実装)
Convert(
 ct : ConvertType
 cch : long ) : void
現在位置から cch 文字の範囲のテキストを変換します (未実装)
Copy(
 cch : long ) : void
現在位置から cch 文字の範囲をクリップボードにコピーします
Copy(
 oOther : TextPoint ) : void
現在位置から oOther までの範囲をクリップボードにコピーします
Cut(
 cch : long ) : void
現在位置から cch 文字の範囲を削除し、クリップボードにコピーします
Cut(
 oOther : TextPoint ) : void
現在位置から oOther までの範囲を削除し、クリップボードにコピーします
Delete(
 cch : long ) : void
現在位置から cch 文字の範囲を削除します
Delete(
 oOther : TextPoint ) : void
現在位置から oOther までの範囲を削除します
DestructiveInsert(
 bstrText : string ) : void
現在位置に bstrText で指定したテキストを挿入します。既存のテキストは上書きされます
GetText(
 cch : long ) : string
現在位置から cch 文字の範囲の文字列を返します
GetText(
 oOther : TextPoint ) : string
現在位置から oOther までの範囲の文字列を返します
Insert(
 bstrText : string ) : void
現在位置に bstrText で指定したテキストを挿入します
Indent(
 nLevel : short = 1,
 oTextPoint : TextPoint = null ) : void
この点を含む行から oTextPoint を含む行を nLevel レベルだけタブインデントします。oTextPoint を省略するとこの点を含む行だけがインデントされます
LineDown(
 nLines : long = 1) : void
nLines 行下に移動します
LineUp(
 nLines : long = 1) : void
nLines 行上に移動します
MoveTo(
 iLine : long,
 iChar : long) : void
iLine 行、iChar 文字目に移動します
MoveToAbsoluteOffset(
 nOffset : long) : void
ドキュメント先頭からの絶対文字オフセットに移動します
MoveToEndOfDocument() : voidドキュメントの終端に移動します
MoveToEndOfLine() : void行末に移動します
MoveToNextBookmark() : void次のブックマーク行の行頭に移動します
MoveToPreviousBookmark() : void前のブックマーク行の行頭に移動します
MoveToStartOfDocument() : voidドキュメントの先頭に移動します
MoveToStartOfLine() : void行頭に移動します
NewLine() : void既定の改行文字を挿入します
Paste(
 oTextPoint : TextPoint ) : void
現在位置から oTextPoint までの範囲をクリップボードの内容で置換します
Paste(
 nOffset : long = 0 ) : void
現在位置から nOffset 文字範囲をクリップボードの内容で置換します
Replace(
 bstrText : string,
 oTextPoint : TextPoint ) : void
現在位置から oTextPoint までの範囲を bstrText で置換します
Replace(
 bstrText : string,
 nOffset : long = 0 ) : void
現在位置から nOffset 文字の範囲を bstrText で置換します
Unindent(
 nLevel : short = 1,
 oTextPoint : TextPoint = null ) : void
この点を含む行から oTextPoint を含む行を nLevel レベルだけタブアンインデントします。oTextPoint を省略するとこの点を含む行だけがインデントされます
WordEndLeft(
 nWords : long = 1 ) : void
nWords 個次の単語の先頭に移動します (未実装)
WordEndRight(
 nWords : long = 1 ) : void
nWords 個前の単語の先頭に移動します (未実装)
WordLeft(
 nWords : long = 1 ) : void
nWords 個次の単語の先頭に移動します
WordRight(
 nWords : long = 1 ) : void
nWords 個前の単語の先頭に移動します

IScriptHost インターフェイス (ScriptHost オブジェクト)

スクリプトホストです。このオブジェクトは Windows Script Host の WScript オブジェクトと同じメンバ持ちます Alpha では WScript で参照可能です。

ScriptHost メンバ
プロパティ
Application : Application (R)アプリケーションオブジェクト
Arguments : Arguments (R)スクリプトの引数
BuildVersion : long (R)スクリプトホストのビルド番号
FullName : string (R)スクリプトホストのフルパス
Interactive : boolean (R/W)対話モード
Name : string (R, default)スクリプトホスト名 (デフォルト)
ScriptFullName : string (R)実行中のスクリプトのフルパス
ScriptName : string (R)実行中のスクリプトの名前
StdErr : IDispatch (R)標準エラー (未サポート)
StdIn : IDispatch (R)標準入力 (未サポート)
StdOut : IDispatch (R)標準出力 (未サポート)
Timeout : long (R/W)スクリプトのタイムアウト
Version : string (R)スクリプトホストのバージョン
メソッド
CreateObject(
 bstrProgId : string,
 bstrPrefix : string = "" ) : IDispatch*
bstrProgId で指定した ProgID のオートメーションオブジェクトを作成します。bstrPrefix は無視されます
ConnectObject(
 pObject : IDispatch*,
 bstrPrefix : string ) : void
(未サポート)
DisconnectObject(
 pObject : IDispatch* ) : void
(未サポート)
Echo(
 bstrArg0 : string,
 bstrArg1 : string, ... ) : void
bstrArg0, bstrArg1, ... をメッセージボックスで表示します。各引数の区切りには半角空白が使用されます
GetObject(
 bstrPathName : string,
 bstrProgId : string = "",
 bstrPrefix : string = "" ) : IDispatch*
bstrPathName で指定した表示名に対応するオートメーションオブジェクトを作成またはアクティブにします。bstrProgId で作成されるオブジェクトの ProgID を指定することもできます。bstrPrefix は無視されます
Quit( ) : voidスクリプトの実行を終了します
Sleep(
 nMilliseconds : long ) : void
現在のスレッドの実行を nMilliseconds ミリ秒中断します

IArguments インターフェイス (Arguments オブジェクト)

スクリプトの引数です。

Arguments メンバ
プロパティ
Item( nIndex : long ) : string (R, default)nIndex 番目の引数を返します
Length : long (R)引数の総数を返します
Named : NamedArguments (R)名前付き引数 (未サポート)
Unnamed : UnnamedArguments (R)名前無し引数 (未サポート)
メソッド
Count() : long引数の総数を返します
ShowUsage() : voidスクリプトの引数の意味をメッセージボックスで表示します (未サポート)

INamedArguments インターフェイス (NamedArguments オブジェクト)

名前付き引数です。このオブジェクトはコレクションです。

NamedArguments メンバ
プロパティ
Item( bstrName : string ) : string (R, default)名前が bstrName の引数を返します
Length : long (R)名前付き引数の総数を返します
メソッド
Count() : long名前付き引数の総数を返します
Exists(
 bstrName : string ) : boolean
bstrName で指定した名前の引数が存在するかどうかを返します

IUnnamedArguments インターフェイス (UnnamedArguments オブジェクト)

名前無し引数です。このオブジェクトはコレクションです。

UnnamedArguments メンバ
プロパティ
Item( iArgument : long ) : string (R, default)iArgument 番目の引数を返します
Length : long (R)名前無し引数の総数を返します
メソッド
Count() : long名前無し引数の総数を返します

WindowState

ウィンドウの状態を表します。

WindowState
AWS_MAXIMIZED = 0x00最大化
AWS_MINIMIZED = 0x01最小化
AWS_NORMAL = 0x02通常

FileShareMode

ファイルの共有モードです。

FileShareMode
AFSM_DENYNONE = 0x00排他処理無し
AFSM_DENYWRITE = 0x01他プロセスの書き込みを拒否
AFSM_DENYREADWRITE = 0x02他プロセスの読み込みを拒否

BreakType

改行コードの種類です。

BreakType
ABT_LF = 0x00改行 (U+000A)
ABT_CR = 0x01復改 (U+000D)
ABT_CRLF = 0x02復改+改行 (U+000D, U+000A)
ABT_NEL = 0x03新行 (U+0085)
ABT_LS = 0x04行区切り (U+2028)
ABT_PS = 0x05段落区切り (U+2029)

FindTextFlags

ITextProcessor::FindText に使用する検索フラグです。これらの値はビット和で複数指定することができます。ただし AFTF_REGULAREXPRESSION を含めると「検索方向」と「大文字小文字を区別しない」以外のフラグは無視されます。

FindTextFlags
AFTF_FORWARD = 0x00キャレット前方を検索
AFTF_BACKWARD = 0x01キャレット後方を検索
AFTF_WHOLEWORD = 0x02単語全体で検索
AFTF_IGNORECASE = 0x04欧文の大文字小文字を区別しない
AFTF_IGNOREKANATYPE = 0x08日本語の平仮名片仮名を区別しない
AFTF_IGNORESIMPLIFIEDTRADITIONAL = 0x10中国語の簡体字繁体字を区別しない
AFTF_REGULAREXPRESSION = 0x20正規表現を使用する

ConvertType

ITextSelection::ConvertIEditPoint::Convert に使用する変換フラグです。

ConvertType
ACT_UPPERCASE_SIMPLE大文字に変換 (単純)
ACT_UPPERCASE_FULL大文字に変換 (完全)
ACT_LOWERCASE_SIMPLE小文字に変換 (単純)
ACT_LOWERCASE_FULL小文字に変換 (完全)
ACT_CAPITALIZE_SIMPLE単語の先頭を大文字に変換 (単純)
ACT_CAPITALIZE_FULL単語の先頭を大文字に変換 (完全)
ACT_HIRAGANA平仮名に変換
ACT_KATAKANA片仮名に変換
ACT_SIMPLIFIED_CHINESE簡体字中国語に変換
ACT_TRADITIONAL_CHINESE繁体字中国語に変換
ACT_FULLWIDTH全角文字に変換
ACT_HALFWIDTH半角文字に変換
ACT_ARABICDIGIT数字を全てアラビア数字 (0-9) に変換
ACT_REMOVE_NONSPACE場所をとらない文字 (分音符、非独立母音字) を削除します
ACT_REMOVE_ARABICKASHIDAカシダを削除します
ACT_COMPOSE複合文字に結合
ACT_DECOMPOSE複合文字を分解

CharCountBehavior

IEditPoint の操作における文字数の数え方を表します。

CharCountBehavior
ACCB_UTF16 = 0x00UTF-16 単位
ACCB_UTF32 = 0x01UTF-32 単位 (サロゲートペアを1文字とみなす)
ACCB_CLUSTER = 0x02文字クラスタ単位 (サロゲートペア、複合文字を1文字とみなす)
ACCB_DEFAULT = 0x03現在使用していません

コードページの一覧

ドキュメントの保存などに使用できる Windows コードページは以下の通りです (システムにインストールされていないものは無効です)。コードページ名は Alpha で使用しているものです。

Alpha (及び Ascension) では現在 Windows コードページに基づいて文字コードを管理していますが、Windows コードページに無い文字コードが存在するため、将来は他の識別子を使用する可能性があります。

コードページの値
コードページ名値 (10進数)
Unicode [ファミリ : 1200]
UTF-161200 (*1)
UTF-16 big endian1201 (*1)
UTF-3212000 (*1)
UTF-32 big endian12001 (*1)
UTF-565506 (*3)
UTF-765000
UTF-865001 (*1)
西ヨーロッパ言語 [ファミリ : 1252]
IRV インターナショナル アルファベット No.5 (IA5)20105
US-ASCII20127
アイスランド語 (20871 + ユーロ, IBM EBCDIC)1149
アイスランド語 (IBM EBCDIC)20871
アイスランド語 (Macintosh)10079
アイスランド語 (OEM)861
イタリア (20280 + ユーロ, IBM EBCDIC)1144
イタリア (IBM EBCDIC)20280
インターナショナル500
インターナショナル (500 + ユーロ, IBM EBCDIC)1148
カナダ/フランス語 (OEM)863
スウェーデン語 (IA5)20107
デンマーク/ノルウェー (20277 + ユーロ, IBM EBCDIC)1142
デンマーク/ノルウェー (IBM EBCDIC)20277
ドイツ (20273 + ユーロ, IBM EBCDIC)1141
ドイツ (IBM EBCDIC)20273
ドイツ語 (IA5)20106
ノルウェー語 (IA5)20108
フィンランド/スウェーデン (20278 + ユーロ, IBM EBCDIC)1143
フィンランド/スウェーデン (IBM EBCDIC)20278
フランス (20297 + ユーロ, IBM EBCDIC)1147
フランス (IBM EBCDIC)20297
ポルトガル語 (OEM)860
ヨーロッパ 3 (ISO 8859-1)29001
ラテン 9 (ISO 8859-15)28605
ラテン I (ANSI)1252
ラテン I (ISO 8859-1)28591
ラテン アメリカ言語/スペイン (IBM EBCDIC)20284
ラテン アメリカ言語/スペイン (20284 + ユーロ, IBM EBCDIC)1145
ラテン-1/Open System (1047 + ユーロ, IBM EBCDIC)20924
ラテン-1/Open System (IBM EBCDIC)1047
ローマン (Macintosh)10000
英国 (20285 + ユーロ, IBM EBCDIC)1146
英国 (IBM EBCDIC)20285
多言語ラテン I (OEM)850
多言語ラテン I + ヨーロッパ言語 (OEM)858
米国/カナダ (37 + ユーロ, IBM EBCDIC)1140
米国/カナダ (IBM EBCDIC)37
米国 (OEM)437
中央ヨーロッパ言語 [ファミリ : 1250]
マルチリンガル/ROECE (ラテン-2, IBM EBCDIC)870
ラテン II (Macintosh)10029
ラテン II (OEM)852
中央ヨーロッパ (ANSI)1250
中央ヨーロッパ (ISO 8859-2)28592
バルト言語 - 東ヨーロッパ [ファミリ : 1257]
バルト言語 (ANSI)1257
バルト言語 (ISO 8859-4)28594
バルト言語 (OEM)775
北欧言語 [ファミリ : -]
北欧 (OEM)865
ケルト言語 [ファミリ : 1200]
南ヨーロッパ言語 [ファミリ : 1254]
トルコ語 (ANSI)1254
トルコ語 (IBM EBCDIC)1026
トルコ語 (IBM EBCDIC)20905
トルコ語 (Macintosh)10081
トルコ語 (OEM)857
ラテン 3 (ISO 8859-3)28593
ラテン 5 (ISO 8859-9)28599
ベトナム語 [ファミリ : 1258]
ベトナム語 (ANSI/OEM)1258
キリル言語 [ファミリ : 1251]
ウクライナ語 (KOI8-U)21866
ウクライナ語 (Macintosh)10017
キリル言語 (ANSI)1251
キリル言語 (ISO 8859-5)28595
キリル言語 (Macintosh)10007
キリル言語 (OEM)855
キリル文字 (セルビア語、ブルガリア語, IBM EBCDIC)21025
キリル文字 (ロシア語, IBM EBCDIC)20880
ロシア語 (KOI8)20866
ロシア語 (OEM)866
ギリシャ語 [ファミリ : 1253]
ギリシャ語 (437G, OEM)737
ギリシャ語 (ANSI)1253
ギリシャ語 (IBM EBCDIC)20423
ギリシャ語 (ISO 8859-7)28597
ギリシャ語 I (Macintosh)10006
モダン ギリシャ語 (IBM EBCDIC)875
現代ギリシャ語 (OEM)869
アラビア語 - 中東 [ファミリ : 1256]
アラビア語 (ANSI)1256
アラビア語 (ASMO)708
アラビア語 (ASMO 449+, BCON V4)709
アラビア語 (IBM EBCDIC)20420
アラビア語 (ISO 8859-6)28596
アラビア語 (Macintosh)10004
アラビア語 (OEM)864
アラビア語 (Transparent Arabic)710
アラビア語 (Transparent ASMO)720
ヘブライ語 - 中東 [ファミリ : 1255]
ヘブライ語 (ANSI)1255
ヘブライ語 (IBM EBCDIC)20424
ヘブライ語 (Macintosh)10005
ヘブライ語 (OEM)862
ヘブライ語 (視覚順, ISO 8859-8)28598
ヘブライ語 (論理順, ISO 8859-8)38598
タイ語 [ファミリ : 874]
タイ語 (ANSI/OEM)874
タイ語 (IBM EBCDIC)20838
タイ語 (Macintosh)10021
簡体字中国語 - 東アジア [ファミリ : 936]
簡体字中国語50936
簡体字中国語 (EUC)51936
簡体字中国語 (GB18030)54936 (*2)
簡体字中国語 (GB2312)20936
簡体字中国語 (GB2312, Macintosh)10008
簡体字中国語 (GBK, ANSI/OEM)936
簡体字中国語 (HZ-GB2312)52936
簡体字中国語 (ISO-2022)50227
簡体字中国語 + 簡体字中国語拡張50935
繁体字中国語 - 東アジア [ファミリ : 950]
台湾 (CNS)20000
台湾 (TCA)20001
台湾 (Eten)20002
台湾 (IBM5550)20003
台湾 (TeleText)20004
台湾 (Wang)20005
繁体字中国語 (Big5, ANSI/OEM)950
繁体字中国語 (Big5, Macintosh)10002
繁体字中国語 (EUC)51950
繁体字中国語 (ISO-2022)50229
繁体字中国語 + 米国/カナダ50937
日本語 - 東アジア [ファミリ : 932]
日本語 (EUC)51932 (*1)
日本語 (JIS X 0201-1989, ISO-2022)50222 (*1)
日本語 (JIS X 0208-1990 & 0212-1990)20932
日本語 (Macintosh)10001
日本語 (Shift-JIS, ANSI/OEM)932 (*1)
日本語 (カタカナ拡張)50930
日本語 (カタカナ拡張, IBM EBCDIC)20290
日本語 (半角カタカナ, ISO-2022)50221
日本語 (半角カタカナなし, ISO-2022)50220
日本語 + 米国/カナダ50931
日本語 + 日本語ラテン拡張50939
韓国語 - 東アジア [ファミリ : 949]
韓国語 (ANSI/OEM)949
韓国語 (EUC)51949
韓国語 (ISO-2022)50225
韓国語 (Johab)1361
韓国語 (Macintosh)10003
韓国語 + 韓国語拡張50933
韓国語拡張 (IBM EBCDIC)20833
デバナガリ文字 [ファミリ : 57002]
デバナガリ文字 (ISCII)57002
ベンガル語 [ファミリ : 57003]
ベンガル語 (ISCII)57003
タミール語 [ファミリ : 57004]
タミール語 (ISCII)57004
テルグ語 [ファミリ : 57005]
テルグ語 (ISCII)57005
アッサム語 [ファミリ : 57006]
アッサム語 (ISCII)57006
オリヤー語 [ファミリ : 57007]
オリヤー語 (ISCII)57007
カナラ語 [ファミリ : 57008]
カナラ語 (ISCII)57008
マラヤラム語 [ファミリ : 57009]
マラヤラム語 (ISCII)57009
グジャラート語 [ファミリ : 57010]
グジャラート語 (ISCII)57010
グルムキー語 [ファミリ : 57011]
グルムキー語 (ISCII)57011
未分類、不明 [ファミリ : -]
Ext Alpha Lowercase21027
Non-Spacing Accent (ISO 6937)20269
T.6120261
クロアチア語 (Macintosh)10082
ルーマニア語 (Macintosh)10010

使用例

任意の範囲を選択状態にして置換する

// JScript
var sel = Ambient.ActiveDocument.TextProcessor.Selection;

sel.MoveTo(iLine, iChar); // (iLine, iChar) にキャレットを移動して
sel.CharNext(true, cch);  // そこから cch 文字選択

var selectedText = sel.Text; // 選択範囲のテキストを取得
selectedText = selectedText.toLocaleUpperCase();
sel.Replace(selectedText);   // 置換

キャレットを動かさずに任意の位置のテキストを取得する

' VBScript
Dim pt, txt

' ドキュメントの先頭座標を使って擬似キャレットを作成
Set pt = ActiveDocument.StartPoint.CreateEditPoint()
Call pt.MoveTo(iLine, iChar) ' 擬似キャレットを (iLine, iChar) に移動して
txt = pt.GetText(cch)        ' cch 文字のテキストを取得

Set pt = Nothing             ' 必要ありません

タブを新しく開く → 今日の日付を書き込む → 保存してタブを閉じる

# PerlScript
my $date = localtime(time());
$Ambient->Documents->AddNew();      ' タブを開く
my $doc = $Ambient->ActiveDocument; ' 新しく開いたタブがアクティブになっています
$doc->TextProcessor->Selection->Replace($date);
$doc->Save('sample.txt', 0, 65001); ' LF 、UTF-8 で名前をつけて保存
$doc->Close();                      ' タブを閉じる

1度のアンドゥ (リドゥ) で元に戻せる (やり直せる) 操作の例

アンドゥグループは複数の操作をまとめたもので、1度のアンドゥでまとめて元に戻すことが出来ます。例えば複数の箇所にテキストを挿入するスクリプトジェネレータなどに使用します。

Ambient オブジェクトモデルの幾つかのメソッドは内部でアンドゥグループを作成します。このためスクリプト側で収集中のアンドゥグループが、メソッド呼び出しにより終了してしまう可能性があります。TextSelection のほとんどの編集メソッドは自身でアンドゥグループを作成します。EditPointReplace 以外のメソッドはアンドゥグループを作成しません。ただしこれらのセマンティクスは将来変更される可能性があります。

# RubyScript
proc = Ambient.ActiveDocument.TextProcessor
pt = proc.CreateEditPoint(Ambient.ActiveDocument.StartPoint)
proc.BeginEditCollection() # -- アンドゥグループの開始
pt.Insert('xyz')
pt.Copy(-2)
pt.Paste()
pt.CharPrev()
pt.Cut(-1)
pt.MoveToEndOfLine()
pt.Paste()
proc.EndEditCollection()   # -- アンドゥグループの終了
		

更新履歴

0.5.3
ITextProcessorBeginEditCollectionEndEditCollection を追加しました
ITextPoint の幾つかのメソッドを IEditPoint に移動しました
IEditPointCharCountBehaviorGetTextNewLine を追加しました
Copyright © 2003-2004 exeal <exeal@student.interq.or.jp>