Text in offenem Word-Dokument suchen und ändern

  • Hallo

    Ich suche eine Möglichkeit, in einem offenen Word-Dokument per Hotkey einen definierten Text zu suchen und diesen anschließend zu ersetzen.
    Den exakten Namen des Word-Dokument kann ich hierbei vorher nicht wissen. Daher soll die suche im aktiven Fenster geschehen.
    Jemand eine Idee wie ich das hin bekomme ?

    Die Definition des entsprechenden Hotkey über Hotkeyset und die anschließende Funktion ist mir ja noch klar...

    Einmal editiert, zuletzt von SmilingStar (2. Februar 2011 um 21:29)

  • Dank dir für deine Antwort. WordDocFindReplace funktioniert soweit auch ganz gut.
    Mein Problem ist bei der Variante aber, dass ich teilweise den Inhalt einer ganzen Zeile ersetzen möchte, ohne diesen komplett zu kennen.
    Gibts ne Möglichkeit zum Bsp. vor dem Ersetzen mit Shift+Pos1 an den Anfang der Zeile zu springen ?

    • Offizieller Beitrag

    dass ich teilweise den Inhalt einer ganzen Zeile ersetzen möchte


    Das ist nicht ohne weiteres möglich, da Word m.W. Zeilen nicht als Objekte kennt.
    Probier mal ob du den Cursor auf/in den gefundenen Text setzen kannst. Anschließend mit Pos1 - Shift - End die Zeile markieren und mit gewünschtem Inhalt ersetzen.

  • Das ist nicht ohne weiteres möglich, da Word m.W. Zeilen nicht als Objekte kennt.
    Probier mal ob du den Cursor auf/in den gefundenen Text setzen kannst. Anschließend mit Pos1 - Shift - End die Zeile markieren und mit gewünschtem Inhalt ersetzen.

    Das mit Home-Shift-END die Zeile markieren scheint zu klappen, wenn ich die Kombination als "Ersetz-Argument" + neuen Text sende.
    Wenn ich allerdings in eine zweite Suche gehen will, springt er nicht zum zweiten Treffer, sondern schmiert in in der gleichen Zeile weiter.
    Jemand ne Idee was da falsch läuft ?

    Beispiel

    [autoit]

    $oDoc = _WordDocGetCollection($hand, 0)
    _WordDocFindReplace($oDoc,"gesuchterText",Send("{HOME}+{END}" & "Test"),1,0)
    _WordDocFindReplace($oDoc,"2gesuchterText",Send("{END}+{HOME}"& "Test2"),1 , 0, 0, 0, 0, 0, 0, 1, 1, 0)

    [/autoit]

    2 Mal editiert, zuletzt von SmilingStar (14. Februar 2011 um 20:06)