Announcement

Collapse
No announcement yet.

Delphi5 und Word

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Delphi5 und Word

    Hey,

    ich habe folgendes Problem. Mein Programm öffnet Word und trägt in dem geöffneten Dokument an Stelle der Textmarken die entsprechenden Werte ein.
    Nun wird der Vorgang des Eintragens immer langsamer.
    Ist Word das aktuelle Fenster und bewege ich die Maus in dem Fenster, beschleunigt sich der Vorgang, bewege ich die Maus nicht mehr, geht's wieder langsamer.
    WORAN liegt denn das? Wie kann man die Eintragegeschwindigkeit so hoch wie am Anfang halten? Was macht Word dabei, bzw. was muß man an- oder ausschalten?

    Vielen Dank

    volker

  • #2
    Schneller wirds, wenn Du WordApplication.WindowState := wdWindowStateMinimize; setzt. Reicht das noch nicht, kann man auch WordApplication.Visible := False; setzen. Ist aber gewöhnungsbedürfig wenn man Word nicht mehr sieht und man darf am Ende das sichtbarmachen nicht vergessen.<p>
    Will mann Geschwindigkeit noch weiter steigern, schreibt man am besten im Delphiprogramm eine Steuerungsdatei, die dann ein Wordmakro nur noch auswertet.<P>
    Die COM-Schnittstelle zu Word ist nun leider mal nicht die schnellste, da umfangreich Variablen-Umwandlungen anfallen. Dieses würde auf dem Weg praktisch entfallen.<p>
    Gruß, Mario Noac
    Schöne Grüße, Mario

    Comment


    • #3
      Hey Mario,

      ich habe natürlich schon visible = false, state = mini, screenupdate = false und noch einige andere Angaben gesetzt.

      Was mich irritiert ist, warum läuft es schneller, wenn ich im Fenster die Maus bewege. Muß WORD irgendwie noch anders beschäftigt werden ?

      danke

      volke

      Comment


      • #4
        Hi,<P>
        ich hab mal unserer Makros (Word97) nochmal genauer unter die Lupe bekommen. Dabei bin ich auf einen Anzeigenmodus gekommen, den ich in Word selbst nicht aktivieren konnte, sondern nur über ein Makro.<P>
        Für dieses Makro stellt mein sein Dokument am besten mal in die Seitenansicht. In der Kopfzeile muß eine Textmarke sein. Dann ruft man ein Makro auf, daß lediglich folgenden Befehl enthält:<P>
        ActiveDocument.Bookmarks("eins_in_nicht_aktivierte r_Kopfzeile").Select <P>
        Word schaltet daraufhin ein Teilen des Dokuments ein. In den oberen 2/3 wird das Dokument im Normalmodus gezeigt, in den unteren zwei Dritteln die Kopfzeile. Diese allerdings auch im Normalmodus, und daß ist glaub ich in Word nicht zu erreichen (ich weiß jedenfalls nicht wie.<P>
        Läßt man ein Makro, was das Dokument befüllt, in dieser speziellen Ansicht ablaufen, läuft es bei mir zumindest Pfeilschnell. Kannst Du das bei Dir reproduzieren?<P>
        Über eine Rückmeldung wäre ich echt dankbar,<P>
        Gruß und besten Dank, Mario Noac
        Schöne Grüße, Mario

        Comment

        Working...
        X