Compartir a través de


Método ITextDocument::Open (tom.h)

Abre un documento especificado. Hay parámetros para especificar privilegios de acceso y uso compartido, creación y conversión del archivo, así como la página de códigos del archivo.

Sintaxis

HRESULT Open(
  [in] VARIANT *pVar,
       long    Flags,
       long    CodePage
);

Parámetros

[in] pVar

Tipo: VARIANT*

Variant que especifica el nombre del archivo que se va a abrir.

Flags

Tipo: long

Marcas de creación, apertura, uso compartido y conversión de archivos. El valor predeterminado es cero, lo que proporciona acceso de lectura y escritura y uso compartido de lectura y escritura, siempre abierto y reconocimiento automático del formato de archivo (los formatos de archivo no reconocidos se tratan como texto). Otros valores se definen en los grupos siguientes.

Se puede usar cualquier combinación de estos valores.

tomReadOnly

tomShareDenyRead

tomShareDenyWrite

tomPasteFile

Estos valores son mutuamente excluyentes.

tomCreateNew

tomCreateAlways

tomOpenExisting

tomOpenAlways

tomTruncateExisting

tomRTF

tomText

tomHTML

tomWordDocument

CodePage

Tipo: long

Página de códigos que se va a usar para el archivo. Cero (el valor predeterminado) significa CP_ACP (página de códigos ANSI), a menos que el archivo comience con un 0xfeff boM Unicode, en cuyo caso el archivo se considera Unicode. Tenga en cuenta que la página de códigos 1200 es Unicode, CP_UTF8 es UTF-8.

Valor devuelto

Tipo: HRESULT

El valor devuelto puede ser un valor HRESULT que corresponde a un error del sistema o código de error COM, incluidos uno de los siguientes valores.

Código devuelto Descripción
S_OK
El método se realiza correctamente
E_INVALIDARG
Argumento no válido.
E_OUTOFMEMORY
Memoria insuficiente.
E_NOTIMPL
Característica no implementada.

Comentarios

Si se crea un documento con el método ITextDocument::New y se usan los valores cero, el motor del Modelo de objetos de texto (TOM) tiene que elegir qué marcas y páginas de códigos usar. El formato de texto enriquecido UTF-8 (definido a continuación) es un valor predeterminado atractivo.

Microsoft Rich Edit 3.0 define una palabra de control, \urtf8, que se debe usar en lugar de \rtf1. Esto significa que el archivo está codificado en UTF-8. En la entrada, los archivos RTF contienen la información de página de códigos pertinente, pero esto se puede cambiar con fines de guardado, lo que permite traducir una versión a otra.

Si la marca tomPasteFile no está establecida en el parámetro Flags , el método cierra primero el documento actual después de guardar los cambios no guardados.

Un archivo se reconoce como un archivo de texto Unicode si comienza con el 0xfeff bom Unicode. El método ITextDocument::Open quita esta lista de materiales Unicode en la entrada y ITextDocument::Save la aplica en la salida. Vea los comentarios sobre el método ITextDocument::Save , que describe cómo colocar la lista de materiales Unicode al principio de los archivos de texto sin formato Unicode. Los valores de conversión tomRTF, tomHTML y tomWordDocument se usan principalmente para el método ITextDocument::Save , ya que estos formatos se reconocen fácilmente en la entrada.

Los errores se notifican por valores negativos, pero dado que las operaciones de archivo tienen muchos tipos de errores, es posible que no necesite toda la información de error proporcionada. En concreto, es posible que no le interese (o ya sabe) qué instalación de archivos se usa, es decir, Windows (pVar.vt = VT_BSTR) o el almacenamiento OLE para IStorage. Al enmascarar el bit 18 de un valor HRESULT , puede omitir la diferencia y comparar con su valor de STG_E_xxx . Por ejemplo:

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 Value
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado tom.h
Archivo DLL Msftedit.dll

Consulte también

Conceptual

IStorage

Istream

ITextDocument

Otros recursos

Referencia

Guardar

Modelo de objetos de texto