ITextDocument::Open メソッド (tom.h)
指定したドキュメントを開きます。 ファイルのアクセスと共有の特権、ファイルの作成と変換、およびファイルのコード ページを指定するためのパラメーターがあります。
構文
HRESULT Open(
[in] VARIANT *pVar,
long Flags,
long CodePage
);
パラメーター
[in] pVar
型: VARIANT*
開くファイルの名前を指定する VARIANT 。
Flags
型: long
ファイルの作成、開く、共有、および変換フラグ。 既定値は 0 で、読み取り/書き込みアクセスと読み取り/書き込みの共有、常に開く、ファイル形式の自動認識を行います (認識されないファイル形式はテキストとして扱われます)。 その他の値は、次のグループで定義されます。
これらの値の任意の組み合わせを使用できます。
tomReadOnly
tomShareDenyRead
tomShareDenyWrite
tomPasteFile
これらの値は相互に排他的です。
tomCreateNew
tomCreateAlways
tomOpenExisting
tomOpenAlways
tomTruncateExisting
tomRTF
tomText
tomHTML
tomWordDocument
CodePage
型: long
ファイルに使用するコード ページ。 ゼロ (既定値) は、ファイル が Unicode BOM 0xfeffで始まる場合を除き、CP_ACP (ANSI コード ページ) を意味します。この場合、ファイルは Unicode と見なされます。 コード ページ 1200 は Unicode、 CP_UTF8 は UTF-8 であることに注意してください。
戻り値
種類: HRESULT
戻り値には、システム エラーまたは COM エラー コードに対応する HRESULT 値を指定できます。これには、次のいずれかの値が含まれます。
リターン コード | 説明 |
---|---|
|
メソッドは成功します |
|
引数が無効です。 |
|
メモリ不足です。 |
|
機能は実装されていません。 |
注釈
ITextDocument::New メソッドを使用してドキュメントを作成し、ゼロ値を使用する場合、テキスト オブジェクト モデル (TOM) エンジンは、使用するフラグとコード ページを選択する必要があります。 UTF-8 リッチ テキスト形式 (RTF) (以下で定義) は魅力的な既定値です。
Microsoft Rich Edit 3.0 では、\rtf1 の代わりに使用する必要があるコントロール ワード \urtf8 が定義されています。 これは、ファイルが UTF-8 でエンコードされていることを意味します。 入力時に RTF ファイルには関連するコード ページ情報が含まれていますが、保存目的で変更できるため、1 つのバージョンを別のバージョンに変換できます。
TomPasteFile フラグが Flags パラメーターに設定されていない場合、メソッドは保存されていない変更を保存した後、最初に現在のドキュメントを閉じます。
ファイルは、Unicode BOM 0xfeffで始まる場合、Unicode テキスト ファイルとして認識されます。 ITextDocument::Open メソッドは入力時にこの Unicode BOM を取り除き、ITextDocument::Save は出力に適用します。 ITextDocument::Save メソッドのコメントを参照してください。Unicode BOM を Unicode プレーンテキスト ファイルの先頭に配置する方法について説明します。 変換値 tomRTF、 tomHTML、 および tomWordDocument は、主に ITextDocument::Save メソッドに使用されます。これらの形式は入力時に簡単に認識されるためです。
エラーは負の値によって報告されますが、ファイル操作にはさまざまな種類のエラーがあるため、すべてのエラー情報を指定する必要がない場合があります。 特に、IStorage 用の Windows () または OLE ストレージなど、使用されているファイル機能を気にしない (pVar.vt = VT_BSTR
または既に知っている可能性があります) 場合があります。
HRESULT 値のビット 18 をマスクすることで、その差を無視し、そのSTG_E_xxx値と比較できます。 次に例を示します。
HRESULT hr;
VARIANT Var;
VariantInit(&Var)
Var.vt = VT_BSTR;
Var.bstrVal = SysAllocString(L"test.txt"); // Use file command
hr = pDoc->Open(&Var, tomOpenExisting, 0);
hr &= ~0x40000; // Mask off bit 18
if(hr == STG_E_FILENOTFOUND)
{
...// the rest of the code
}
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | tom.h |
[DLL] | Msftedit.dll |
関連項目
概念
その他のリソース
リファレンス