string aus rtf datei holen

  • wie kann ich aus einer rtf datei den string raus ziehen

    da kommt immer error 2 bei mir
    Function _FileReadToArray 1 = Error opening specified file
    2 = Unable to Split the file

    habe ein wenig rumprobiert und dann kam fehler 1

    wie kann ich sonst noch einen string aus einer rtf datei holen?
    read line hab ich auch schon gemacht ging auch nich :wacko:

    • Offizieller Beitrag

    wie kann ich aus einer rtf datei den string raus ziehen


    Sicher auf keinem einfachen Weg. Du kannst nicht einfach den Inhalt als Textdatei einlesen und versuchen den Text auszulesen. Der Text ist mit Formatbefehlen maskiert. Kannst ja mal im EN-Forum suchen, vielleicht hat sich schonmal wer die Mühe gemacht.

    • Offizieller Beitrag

    OK, ich hab eine Lösung:

    [autoit]

    #include <Word.au3>

    [/autoit][autoit][/autoit][autoit]

    $sFilePath = "C:\Pfad\Datei.rtf"

    [/autoit][autoit][/autoit][autoit]

    _WordErrorHandlerRegister()
    $oWordApp = _WordCreate($sFilePath, 0, 0)
    $oDoc = _WordDocGetCollection($oWordApp, 0)
    $oDoc.Select
    $oWordApp.Selection.Copy
    $text = ClipGet()
    _WordQuit($oWordApp)

    [/autoit][autoit][/autoit][autoit]

    ConsoleWrite($text & @CRLF)

    [/autoit]
  • tut mir leid aber das geht nicht
    dies stand in der console

    Spoiler anzeigen

    --> COM Error Encountered in encrypt.au3
    ----> $WordComErrorScriptline = 128
    ----> $WordComErrorNumberHex = 800401F3
    ----> $WordComErrorNumber = -2147221005
    ----> $WordComErrorWinDescription = Ungültige Klassenzeichenfolge
    ----> $WordComErrorDescription =
    ----> $WordComErrorSource =
    ----> $WordComErrorHelpFile =
    ----> $WordComErrorHelpContext =
    ----> $WordComErrorLastDllError = 14000

    --> Word.au3 Error from function _WordCreate (Word Object Creation Failed)
    --> Word.au3 Error from function _WordDocGetCollection, $_WordStatus_InvalidDataType
    --> COM Error Encountered in encrypt.au3
    ----> $WordComErrorScriptline = 10
    ----> $WordComErrorNumberHex = 000000A9
    ----> $WordComErrorNumber = 169
    ----> $WordComErrorWinDescription = Variable must be of type 'Object'.
    ----> $WordComErrorDescription =
    ----> $WordComErrorSource =
    ----> $WordComErrorHelpFile =
    ----> $WordComErrorHelpContext =
    ----> $WordComErrorLastDllError = 0

    --> COM Error Encountered in encrypt.au3
    ----> $WordComErrorScriptline = 11
    ----> $WordComErrorNumberHex = 000000A9
    ----> $WordComErrorNumber = 169
    ----> $WordComErrorWinDescription = Variable must be of type 'Object'.
    ----> $WordComErrorDescription =
    ----> $WordComErrorSource =
    ----> $WordComErrorHelpFile =
    ----> $WordComErrorHelpContext =
    ----> $WordComErrorLastDllError = 0

    --> Word.au3 Error from function _WordQuit, $_WordStatus_InvalidDataType
    #include <Word.au3>

    $sFilePath = @DesktopDir & "\test.rtf"

    _WordErrorHandlerRegister()
    $oWordApp = _WordCreate($sFilePath, 0, 0)
    $oDoc = _WordDocGetCollection($oWordApp, 0)
    $oDoc.Select
    $oWordApp.Selection.Copy
    $text = ClipGet()
    _WordQuit($oWordApp)

    ConsoleWrite($text & @CRLF)


  • Sicher auf keinem einfachen Weg. Du kannst nicht einfach den Inhalt als Textdatei einlesen und versuchen den Text auszulesen. Der Text ist mit Formatbefehlen maskiert. Kannst ja mal im EN-Forum suchen, vielleicht hat sich schonmal wer die Mühe gemacht.

    also ich hab das jez recht einfach gelöst mit filemove(.rtf,.txt)
    also einfach verschoben und antstat .rtf .txt eingesetzt
    so einfach wars^^

  • versteh ich nich^^

    is mit .rtf endung
    und beim öffnen sind die buchstaben auch fett oder kursiv
    und in wik steht das eine rtf datei eine reine textdatei ist also hab ich das so ausprobiert und es ging

    • Offizieller Beitrag

    versteh ich nich^^

    is mit .rtf endung
    und beim öffnen sind die buchstaben auch fett oder kursiv
    und in wik steht das eine rtf datei eine reine textdatei ist also hab ich das so ausprobiert und es ging


    Es ist schon Text, aber mit zusätzlichen Formatinformationen (z.B. TAB=\tab, CRLF=\par...). Auch der Text ist nicht 1:1. Das "ß" wird hier als "\'df" dargestellt.
    Und das sind die Gründe, warum man eine rtf-Datei nicht einfach als Text lesen kann. Schau dir mal eine RTF in SciTE an, dann siehst du es.