Word Datei speichern

  • Hallo
    Da ich viel mit Word arbeite war meine idee ein skript zu haben das meine word datei speichert (in der weiterentwicklung auch ne Kopieanlegt).

    Klar kann ich das mit mousemove und send usw. machen.

    Hat jemand eine idee das im Hintergrund zu machen oder geht das nur wenn das Fenster aktiv ist und ich dann (während das Skript läuft) nicht arbeiten kann?

    2 Mal editiert, zuletzt von Gandalf (2. Februar 2013 um 17:55)

  • Entschuldigung ich habe es nicht früher geschafft.

    Der tipp mit Worddocsave war gut. Ich bekomme es leider trotz allem nicht hin. Man brauch ein objekt und ich weiß nicht wie ich das mache.
    die hilfe zeigt das ich weiß. aber ich möchte nicht jedes mal ein neues dokumt haben sondern das Skript soll in einer schleife (bekomme ich hin) laufen und alle yx sekunden dasa dokument speichern und als namen einen Namen + Datum und zeit verwenden.

    kann mir da jemand helfen?
    Danke

  • Danke für die schnelle Antwort.

    Habe jetzt das:

    [autoit]

    #include <Word.au3>
    $oWordApp = _WordAttach("Test.doc")_WordDocSave ($oWordApp)

    [/autoit]




    leider geht das nicht.
    Damit ihr versteht was ich meine es funktioniert nicht und ist so auch leider nicht möglich aber so würde ich es gerne haben:

    [autoit]

    While 1$Datum = @YEAR & @MON & @MDAY & @hour & @min & @secSleep (60000)_WordDocSave (@ScriptDir & "\Test"& $Datum & ".doc")
    WEnd

    [/autoit]
  • Kommt das so Deinen Vorstellungen nahe?

    Spoiler anzeigen
    [autoit]


    #include <Word.au3>
    $oWordApp = _WordCreate(@scriptDir & "\Test.doc",0,0,0)
    $oDoc = _WordDocGetCollection($oWordApp, 0)
    _WordDocSave ($oDoc)

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

    While 1
    $Datum = @YEAR & @MON & @MDAY & @hour & @min & @sec
    Sleep (60000)
    _WordDocSaveAs ($oDoc,@ScriptDir & "\Test"&$Datum,0)
    WEnd

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

    ggf. setze nach Beendigung Deiner Schleife die Anweisung _WordQuit($oWordApp).

    Alternativ bietet Word die Einstellung zum automatischen im Intervall Speichern an.

    Einmal editiert, zuletzt von qwert23 (3. Februar 2013 um 00:08)

  • Naja so erstellt er aber jedes mal ein neues dokument.

    Ich will ja mein Dokument öffnen dann das skript starten und es soll halt dann alle x Sekunden speichern mit eben der aktuellen zwit als Dateinamen.

    Ich verstehe einfach nicht wo diese Objekt variable die ich ja brauche herkommt.

  • Dann ist das so umzusetzen, wenn Du in Deinem Dokument Test.doc arbeitest und es soll dann im zeitlichen Abständen gespeichert werden.
    Du arbeitest nach dem jeweiligen Speichern in dem dann aktuellen Dokument weiter.
    Word ist somit aktiv, _WordDocGetCollection($oWord, 0) beinhaltet das aktuelle Dokument.

    Ist das so korrekt verstanden?

    Spoiler anzeigen
    [autoit]


    #include <Word.au3>

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

    If ProcessExists('WINWORD.EXE') Then
    $oWord = ObjGet('', "Word.Application")
    $fWordExists = True
    EndIf

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

    $oDoc = _WordDocGetCollection($oWord, 0)

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

    While 1
    $Datum = @YEAR & @MON & @MDAY & @hour & @min & @sec
    Sleep (60000)
    _WordDocSaveAs ($oDoc,@ScriptDir & "\Test"&$Datum,0)
    WEnd

    [/autoit]

    Sofern kein Word aktiv ist und Dein Skript startet, dann bitte noch in der IF Abfrage ein Else mit Ausstieg einfügen!

  • Danke qwert23

    Ja das ist so richtig verstanden.
    Das mit dem Process hatte ich auch so nur dies Objekt habe ich nicht bekommen.
    Vielen Dank!

    Ich werde jetzt noch Hotleys und eben die anfangs Abfrage einfügen...

    Danke!