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 値を指定できます。これには、次のいずれかの値が含まれます。

リターン コード 説明
S_OK
メソッドは成功します
E_INVALIDARG
引数が無効です。
E_OUTOFMEMORY
メモリ不足です。
E_NOTIMPL
機能は実装されていません。

注釈

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 プレーンテキスト ファイルの先頭に配置する方法について説明します。 変換値 tomRTFtomHTMLおよび 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

関連項目

概念

IStorage

IStream

ITextDocument

その他のリソース

リファレンス

および

Text オブジェクト モデル