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

파일에 사용할 코드 페이지입니다. 0(기본값)은 파일이 유니코드 BOM 0xfeff 시작하지 않는 한 CP_ACP(ANSI 코드 페이지)를 의미하며, 이 경우 파일은 유니코드로 간주됩니다. 코드 페이지 1200은 유니코드이고 CP_UTF8 UTF-8입니다.

반환 값

형식: HRESULT

반환 값은 다음 값 중 하나를 포함하여 시스템 오류 또는 COM 오류 코드에 해당하는 HRESULT 값일 수 있습니다.

반환 코드 Description
S_OK
메서드 성공
E_INVALIDARG
인수가 잘못되었습니다.
E_OUTOFMEMORY
메모리가 부족합니다.
E_NOTIMPL
기능이 구현되지 않았습니다.

설명

ITextDocument::New 메서드를 사용하여 문서를 만들고 0 값을 사용하는 경우 TOM(텍스트 개체 모델) 엔진에서 사용할 플래그와 코드 페이지를 선택해야 합니다. UTF-8 RTF(서식 있는 텍스트 형식)(아래에 정의됨)는 매력적인 기본값입니다.

Microsoft Rich Edit 3.0은 \rtf1 대신 사용해야 하는 컨트롤 단어 \urtf8을 정의합니다. 즉, 파일이 UTF-8로 인코딩됩니다. 입력 시 RTF 파일에는 관련 코드 페이지 정보가 포함되어 있지만 저장 목적으로 변경할 수 있으므로 한 버전을 다른 버전으로 변환할 수 있습니다.

flags 매개 변수 에 tomPasteFile 플래그가 설정되지 않은 경우 메서드는 저장되지 않은 변경 내용을 저장한 후 먼저 현재 문서를 닫습니다.

파일은 유니코드 BOM 0xfeff 시작하는 경우 유니코드 텍스트 파일로 인식됩니다. ITextDocument::Open 메서드는 입력 시 이 유니코드 BOM을 제거하고 ITextDocument::Save는 출력에 적용합니다. 유니코드 일반 텍스트 파일의 시작 부분에 유니코드 BOM을 배치하는 방법을 설명하는 ITextDocument::Save 메서드에 대한 설명을 참조하세요. 변환 값 tomRTF, tomHTMLtomWordDocument 는 주로 ITextDocument::Save 메서드에 사용됩니다. 이러한 형식은 입력에서 쉽게 인식되기 때문에 사용됩니다.

오류는 음수 값으로 보고되지만 파일 작업에는 많은 종류의 오류가 있으므로 제공된 모든 오류 정보가 필요하지 않을 수 있습니다. 특히 사용되는 파일 기능, 즉 WindowspVar.vt = VT_BSTR() 또는 IStorage용 OLE 스토리지는 신경 쓰지 않을 수 있습니다(또는 이미 알고 있을 수 있음). 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

기타 리소스

참조

저장

텍스트 개체 모델