Método ITextDocument::Open (tom.h)
Abre um documento especificado. Há parâmetros para especificar privilégios de acesso e compartilhamento, criação e conversão do arquivo, bem como a página de código do arquivo.
Sintaxe
HRESULT Open(
[in] VARIANT *pVar,
long Flags,
long CodePage
);
Parâmetros
[in] pVar
Tipo: VARIANT*
Uma VARIANT que especifica o nome do arquivo a ser aberto.
Flags
Tipo: long
Os sinalizadores de criação, abertura, compartilhamento e conversão de arquivo. O valor padrão é zero, que fornece acesso de leitura/gravação e compartilhamento de leitura/gravação, sempre aberto e reconhecimento automático do formato de arquivo (formatos de arquivo não reconhecidos são tratados como texto). Outros valores são definidos nos grupos a seguir.
Qualquer combinação desses valores pode ser usada.
tomReadOnly
tomShareDenyRead
tomShareDenyWrite
tomPasteFile
Esses valores são mutuamente exclusivos.
tomCreateNew
tomCreateAlways
tomOpenExisting
tomOpenAlways
tomTruncateExisting
tomRTF
tomText
tomHTML
tomWordDocument
CodePage
Tipo: long
A página de código a ser usada para o arquivo. Zero (o valor padrão) significa CP_ACP (página de código ANSI), a menos que o arquivo comece com um bom 0xfeff Unicode, nesse caso, o arquivo é considerado Unicode. Observe que a página de código 1200 é Unicode, CP_UTF8 é UTF-8.
Retornar valor
Tipo: HRESULT
O valor retornado pode ser um valor HRESULT que corresponde a um erro do sistema ou código de erro COM, incluindo um dos valores a seguir.
Código de retorno | Descrição |
---|---|
|
O método é bem-sucedido |
|
Argumento inválido. |
|
Memória insuficiente. |
|
Recurso não implementado. |
Comentários
Se um documento for criado com o método ITextDocument::New e os valores zero forem usados, o mecanismo TOM (Modelo de Objeto de Texto) precisará escolher quais sinalizadores e página de código usar. O RTF (Formato de Rich Text) UTF-8 (definido abaixo) é um padrão atraente.
O Microsoft Rich Edit 3.0 define uma palavra de controle, \urtf8, que deve ser usada em vez de \rtf1. Isso significa que o arquivo é codificado em UTF-8. Na entrada, os arquivos RTF contêm as informações relevantes da página de código, mas isso pode ser alterado para fins de salvamento, permitindo assim que uma versão seja traduzida para outra.
Se o sinalizador tomPasteFile não estiver definido no parâmetro Flags , o método primeiro fechará o documento atual depois de salvar as alterações não salvas.
Um arquivo será reconhecido como um arquivo de texto Unicode se ele começar com o 0xfeff BOM Unicode. O método ITextDocument::Open remove essa BOM Unicode na entrada e ITextDocument::Save o aplica na saída. Consulte os comentários sobre o método ITextDocument::Save , que discutem a colocação da BOM Unicode no início de arquivos de texto sem formatação Unicode. Os valores de conversão tomRTF, tomHTML e tomWordDocument são usados principalmente para o método ITextDocument::Save , pois esses formatos são facilmente reconhecidos na entrada.
Os erros são relatados por valores negativos, mas como as operações de arquivo têm muitos tipos de erros, talvez você não precise de todas as informações de erro fornecidas. Em particular, talvez você não se importe (ou talvez já saiba) qual recurso de arquivo é usado, ou seja, Windows (pVar.vt = VT_BSTR
) ou armazenamento OLE para IStorage. Ao mascarar o bit 18 de um valor HRESULT , você pode ignorar a diferença e comparar com seu valor STG_E_xxx . Por exemplo:
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
}
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | tom.h |
DLL | Msftedit.dll |
Confira também
Conceitual
Outros recursos
Referência