Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Word per OLE - einzelne Seiten in RTF oder HTML konvertieren und in Stream schreiben (https://www.delphipraxis.net/206787-word-per-ole-einzelne-seiten-rtf-oder-html-konvertieren-und-stream-schreiben.html)

KessiJones2021 29. Jan 2021 08:54

Word per OLE - einzelne Seiten in RTF oder HTML konvertieren und in Stream schreiben
 
Hallo zusammen,

ich suche eine Möglichkeit, eine Word-datei per OLE zu öffnen und die einzelnen Seiten entweder in ein RTF oder ein HTML zu konvertieren und diese dann wieder in einen Stream oder einen Langen String zu schreiben.
Eine Alternative wäre, das Word-Dokument zuerst in ein RTF zu konvertieren und dann die einzelnen Seiten in jeweils in einen Stream zu schreiben.

Für Lösungsvorschläge wäre ich sehr dankbar.

Das Öffnen des Dokumentes, und das Erkennen der Seitenanzahl funktioniert prächtig.
Code:
procedure OpenTheDoc
var
    l_WordApp, l_Document: OleVariant;
    p_ErrorText : string;
    n_PageCount: Integer;
begin
    l_WordApp := CreateOleObject('Word.Application');
    if (VarType(l_WordApp) <> varDispatch) then
    begin
        p_ErrorText := 'Fehler beim Aufruf von Word.Application!';
    end;

    try
        l_Document := l_WordApp.Documents.Open(p_FileName);
        if (VarType(l_Document) <> varDispatch) then
        begin
            p_ErrorText := 'Fehler beim Öffen der Datei ' + p_FileName + ' !';
        end
        except
        on E:Exception do
        begin
            p_ErrorText := 'Fehler beim Öffen der Datei ' + p_FileName + ' !';
        end;

        n_PageCount := l_Document.ComputeStatistics(2);

    finally
        // Disconnect Microsoft Word
        if (VarType(l_Document) = varDispatch) then
        begin
            l_Document.Close(l_SaveChanges);
        end;
end;

Papaschlumpf73 29. Jan 2021 15:18

AW: Word per OLE - einzelne Seiten in RTF oder HTML konvertieren und in Stream schrei
 
Am einfachsten funktioniert die OLE-Automatisierung wenn man zunächst versucht, die gewünschten Aktionen nur in Word durchzuführen. Beispielsweise Datei öffnen, Zeilen markieren und kopieren, drucken, speichern usw.

Wenn man dann alles in Word als Makro aufzeichnet, lassen sich die Funktion unter Verwendung des Makro-Codes per OLE-Automatisierung ganz leicht nachbauen.

mmw 29. Jan 2021 15:24

AW: Word per OLE - einzelne Seiten in RTF oder HTML konvertieren und in Stream schrei
 
Hallo,

vielleicht so.

https://docs.microsoft.com/de-de/off...i/word.saveas2

Die Antwort passt jetzt nicht ganz. Im Prinzip in Word Speichern( konvertieren) und dann weiterverarbeiten.

Gruß


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:06 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz