ITextDocument::Open-Methode (tom.h)
Öffnet ein angegebenes Dokument. Es gibt Parameter zum Angeben von Zugriffs- und Freigabeberechtigungen, zum Erstellen und Konvertieren der Datei sowie zur Codepage für die Datei.
Syntax
HRESULT Open(
[in] VARIANT *pVar,
long Flags,
long CodePage
);
Parameter
[in] pVar
Typ: VARIANT*
Ein VARIANT-Wert , der den Namen der zu öffnenden Datei angibt.
Flags
Typ: long
Die Dateierstellungs-, Öffnen-, Freigabe- und Konvertierungsflags. Der Standardwert ist 0, wodurch Lese-/Schreibzugriff und Lese-/Schreibfreigabe, immer geöffnet und das Dateiformat automatisch erkannt wird (nicht erkannte Dateiformate werden als Text behandelt). Andere Werte werden in den folgenden Gruppen definiert.
Es kann eine beliebige Kombination dieser Werte verwendet werden.
tomReadOnly
tomShareDenyRead
tomShareDenyWrite
tomPasteFile
Diese Werte schließen sich gegenseitig aus.
tomCreateNew
tomCreateAlways
tomOpenExisting
tomOpenAlways
tomTruncateExisting
tomRTF
tomText
tomHTML
tomWordDocument
CodePage
Typ: long
Die Codepage, die für die Datei verwendet werden soll. Null (Standardwert) bedeutet CP_ACP (ANSI-Codepage), es sei denn, die Datei beginnt mit einer Unicode-BOM-0xfeff. In diesem Fall gilt die Datei als Unicode. Beachten Sie, dass die Codepage 1200 Unicode ist, CP_UTF8 UTF-8 ist.
Rückgabewert
Typ: HRESULT
Der Rückgabewert kann ein HRESULT-Wert sein, der einem Systemfehler- oder COM-Fehlercode entspricht, einschließlich eines der folgenden Werte.
Rückgabecode | BESCHREIBUNG |
---|---|
|
Methode erfolgreich |
|
Ungültiges Argument. |
|
Nicht genügend Arbeitsspeicher. |
|
Feature nicht implementiert. |
Hinweise
Wenn ein Dokument mit der ITextDocument::New-Methode erstellt wird und die Nullwerte verwendet werden, muss die TextObjektmodell-Engine (TOM) auswählen, welche Flags und Codepage verwendet werden sollen. UTF-8 Rich Text Format (RTF) (unten definiert) ist ein attraktiver Standardwert.
Microsoft Rich Edit 3.0 definiert das Steuerelementwort \urtf8, das anstelle von \rtf1 verwendet werden soll. Dies bedeutet, dass die Datei in UTF-8 codiert ist. Bei der Eingabe enthalten RTF-Dateien die relevanten Codepageinformationen, aber dies kann zum Speichern geändert werden, sodass eine Version in eine andere übersetzt werden kann.
Wenn das tomPasteFile-Flag im Flags-Parameter nicht festgelegt ist, schließt die Methode zuerst das aktuelle Dokument, nachdem nicht gespeicherte Änderungen gespeichert wurden.
Eine Datei wird als Unicode-Textdatei erkannt, wenn sie mit der Unicode-BOM-0xfeff beginnt. Die ITextDocument::Open-Methode entfernt diese Unicode-BOM bei der Eingabe, und ITextDocument::Save wendet sie bei der Ausgabe an. Sehen Sie sich die Kommentare zur ITextDocument::Save-Methode an, in der erläutert wird, die Unicode-BOM am Anfang von Unicode-Klartextdateien zu platzieren. Die Konvertierungswerte tomRTF, tomHTML und tomWordDocument werden in erster Linie für die ITextDocument::Save-Methode verwendet, da diese Formate bei der Eingabe leicht erkannt werden.
Fehler werden durch negative Werte gemeldet, aber da Dateivorgänge viele Arten von Fehlern aufweisen, benötigen Sie möglicherweise nicht alle bereitgestellten Fehlerinformationen. Insbesondere ist Es Ihnen möglicherweise egal (oder Sie wissen bereits), welche Dateifunktion verwendet wird, nämlich Windows (pVar.vt = VT_BSTR
) oder OLE-Speicher für IStorage. Durch Maskieren von Bit 18 eines HRESULT-Werts können Sie die Differenz ignorieren und mit dem STG_E_xxx-Wert vergleichen. Beispiel:
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
}
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | tom.h |
DLL | Msftedit.dll |
Siehe auch
Konzept
Andere Ressourcen
Referenz