Partager via


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

Ouvre un document spécifié. Il existe des paramètres pour spécifier les privilèges d’accès et de partage, la création et la conversion du fichier, ainsi que la page de code du fichier.

Syntaxe

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

Paramètres

[in] pVar

Type : VARIANT*

VARIANT qui spécifie le nom du fichier à ouvrir.

Flags

Type : long

Indicateurs de création, d’ouverture, de partage et de conversion de fichiers. La valeur par défaut est zéro, ce qui donne l’accès en lecture/écriture et le partage en lecture/écriture, l’ouverture toujours et la reconnaissance automatique du format de fichier (les formats de fichier non reconnus sont traités comme du texte). D’autres valeurs sont définies dans les groupes suivants.

N’importe quelle combinaison de ces valeurs peut être utilisée.

tomReadOnly

tomShareDenyRead

tomShareDenyWrite

tomPasteFile

Ces valeurs s’excluent mutuellement.

tomCreateNew

tomCreateAlways

tomOpenExisting

tomOpenAlways

tomTruncateExisting

tomRTF

tomText

tomHTML

tomWordDocument

CodePage

Type : long

Page de code à utiliser pour le fichier. Zéro (valeur par défaut) signifie CP_ACP (page de code ANSI), sauf si le fichier commence par une nomenclature Unicode 0xfeff, auquel cas le fichier est considéré comme Unicode. Notez que la page de code 1200 est Unicode, CP_UTF8 est UTF-8.

Valeur retournée

Type : HRESULT

La valeur de retour peut être une valeur HRESULT qui correspond à une erreur système ou à un code d’erreur COM, y compris l’une des valeurs suivantes.

Code de retour Description
S_OK
La méthode réussit
E_INVALIDARG
Argument non valide.
E_OUTOFMEMORY
Mémoire insuffisante.
E_NOTIMPL
Fonctionnalité non implémentée.

Remarques

Si un document est créé avec la méthode ITextDocument ::New et que les valeurs nulles sont utilisées, le moteur TOM (Text Object Model) doit choisir les indicateurs et la page de code à utiliser. Le format RTF (Rich Text Format) UTF-8 (défini ci-dessous) est une valeur par défaut attrayante.

Microsoft Rich Edit 3.0 définit un mot de contrôle, \urtf8, qui doit être utilisé au lieu de \rtf1. Cela signifie que le fichier est encodé en UTF-8. Lors de l’entrée, les fichiers RTF contiennent les informations pertinentes de la page de code, mais ces informations peuvent être modifiées à des fins d’enregistrement, ce qui permet de traduire une version en une autre.

Si l’indicateur tomPasteFile n’est pas défini dans le paramètre Flags , la méthode ferme d’abord le document actif après avoir enregistré les modifications non enregistrées.

Un fichier est reconnu en tant que fichier texte Unicode s’il commence par la nomenclature Unicode 0xfeff. La méthode ITextDocument ::Open supprime cette nomenclature Unicode en entrée et ITextDocument ::Save l’applique en sortie. Consultez les commentaires sur la méthode ITextDocument ::Save , qui traitent de l’insertion de la nomenclature Unicode au début des fichiers de texte brut Unicode. Les valeurs de conversion tomRTF, tomHTML et tomWordDocument sont principalement utilisées pour la méthode ITextDocument ::Save , car ces formats sont facilement reconnus en entrée.

Les erreurs sont signalées par des valeurs négatives, mais étant donné que les opérations de fichier présentent de nombreux types d’erreurs, vous n’avez peut-être pas besoin de toutes les informations d’erreur fournies. En particulier, vous ne vous souciez peut-être pas (ou vous savez peut-être déjà) quelle fonctionnalité de fichier est utilisée, à savoir Windows (pVar.vt = VT_BSTR) ou stockage OLE pour IStorage. En masquant le bit 18 d’une valeur HRESULT , vous pouvez ignorer la différence et la comparer à sa valeur STG_E_xxx . Par exemple :

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
}

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête tom.h
DLL Msftedit.dll

Voir aussi

Conceptuel

IStorage

IStream

ITextDocument

Autres ressources

Référence

Save

Modèle objet texte