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 |
---|---|
|
메서드 성공 |
|
인수가 잘못되었습니다. |
|
메모리가 부족합니다. |
|
기능이 구현되지 않았습니다. |
설명
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, tomHTML 및 tomWordDocument 는 주로 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 |
추가 정보
개념
기타 리소스
참조