Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Wordfenster aktualisieren (refresh) während Makro läuft
zurück: Double Werte subtrahieren weiter: Mehrere Dokumente aus verschiedenen Ordnern zusammenfassen Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
ckirchho
Gast


Verfasst am:
03. Feb 2010, 13:27
Rufname:

Wordfenster aktualisieren (refresh) während Makro läuft - Wordfenster aktualisieren (refresh) während Makro läuft

Nach oben
       Version: Office 2007

Hallo,

ich habe hier einige Threads gefunden, bei denen es darum geht, das Neuzeichnen der Dokumentfenster zu verhindern, während ein Makro läuft.

Ich habe jedoch die umgekehrte Frage. Ich zeige in der Statusleiste den Fortschritt des laufenden Makros an. Doch meistens wird der gesamte ensterbereich des aktuellen Dokumentenfensters irgendwann während der Makroausführung weiß, und ich kann der Statusleiste nicht mehr entnehmen, wie weit das Makro fortgeschritten ist bzw. abschätzen, wie lange es noch laufen wird.

Ist das ein Problem des Betriebssystems (Windows XP), oder kann ich das vom Makro aus beeinflussen?

Viele Grüße,

Christian Kirchhoff
Lisa
Moderator; Word seit Word 5.0 (für DOS)


Verfasst am:
03. Feb 2010, 14:03
Rufname:
Wohnort: Leipzig


AW: Wordfenster aktualisieren (refresh) während Makro läuft - AW: Wordfenster aktualisieren (refresh) während Makro läuft

Nach oben
       Version: Office 2007

Hallo Christian,

man kann das Word-Fenster auch explizit aktualisieren mit:
Code:
Application.ScreenRefresh

Gruß
Lisa
Gast



Verfasst am:
03. Feb 2010, 15:01
Rufname:

AW: Wordfenster aktualisieren (refresh) während Makro läuft - AW: Wordfenster aktualisieren (refresh) während Makro läuft

Nach oben
       Version: Office 2007

Hallo Lisa,

das hat leider keine Abhilfe geschafft. Daher vermute ich, dass es eher ein Problem vom Betriebssystem ist und ich makroseitig nichts daran ändern kann.

Viele Grüße,

Christian
Lisa
Moderator; Word seit Word 5.0 (für DOS)


Verfasst am:
03. Feb 2010, 16:02
Rufname:
Wohnort: Leipzig

AW: Wordfenster aktualisieren (refresh) während Makro läuft - AW: Wordfenster aktualisieren (refresh) während Makro läuft

Nach oben
       Version: Office 2007

Hallo Christian,

zeig doch mal was vom Code, sonst stochern wir ja hier nur im allgemeinen Nebel herum.

Gruß
Lisa
Gast



Verfasst am:
03. Feb 2010, 17:46
Rufname:

AW: Wordfenster aktualisieren (refresh) während Makro läuft - AW: Wordfenster aktualisieren (refresh) während Makro läuft

Nach oben
       Version: Office 2007

O.k., hier das Codegerüst, den kompletten Code zu kopieren wäre nicht sinnvoll. Es passiert ein wenig vor der Schleife und danach, und in der Schleife ganz viel.

Code:

Sub Main()
   ActDocumentName = ActiveDocument.Name
   Selection.HomeKey Unit:=wdStory
   TableCount = Documents(ActDocumentName).Tables.Count
   For actTable = 1 To TableCount
      TableRowCount = Documents(ActDocumentName).Tables(actTable).Rows.Count
      For actRow = 1 To TableRowCount
         If actRow / 10 = actRow \ 10 Then
            StatusBar = "Tabelle " + CStr(actTable) + "/" + CStr(TableCount) + ", Zeile " + CStr(actRow)
            Application.ScreenRefresh
         End If
         '...
      Next actRow
   Next actTable
End Sub


Viele Grüße,

Christian
Lisa
Moderator; Word seit Word 5.0 (für DOS)


Verfasst am:
03. Feb 2010, 18:11
Rufname:
Wohnort: Leipzig

AW: Wordfenster aktualisieren (refresh) während Makro läuft - AW: Wordfenster aktualisieren (refresh) während Makro läuft

Nach oben
       Version: Office 2007

Hallo Christian,

nein, daran dürfte es nicht liegen. Abgesehen davon, dass ich den String immer mit dem &-Operator verknüpfen würde. Das + sollte möglichst nur zum Rechnen eingesetzt werden.

Es geht schneller, wenn man das Dokument direkt in eine Objektvariable füllt, statt jedesmal abzufragen, also statt:
Code:
ActDocumentName = ActiveDocument.Name
TableCount = Documents(ActDocumentName).Tables.Count

lieber:
Code:
Dim actDoc As Word.Document
Set actDoc = ActiveDocument
TableCount = actdoc.Tables.Count

Auch die Zeile:
Code:
Selection.HomeKey Unit:=wdStory

hat hier keinen Sinn, könnte wegfallen (es sei denn, die Selection wird später noch benutzt). Trifft das zu? Wenn die Selection benutzt wird, sollte man auf jeden Fall im Dokument eine Bewegung bemerken (Flackern). Das könntest Du ja probehalber mal tun, falls die Selection nicht anderweitig gebunden ist, also etwa:
Code:
If actRow / 10 = actRow \ 10 Then
    actRow.Select
    Selection.Collapse wdCollapseEnd
    StatusBar = ...

Ach so, noch eins: Wenn die Angabe von actTable, TableCount und actRow nur für die Statusbar-Anzeige ist (und diese doch nicht funktioniert), könntest Du auch statt der einen oder auch beider Zählschleifen lieber For-Each-Schleifen verwenden, die ist schneller!
Code:
    Dim actTable As Word.Table
    Dim actRow As Word.Row
    Dim actDoc As Word.Document
   
    Set actDoc = ActiveDocument

    For Each actTable In actDoc.Tables
        For Each actRow In actTable.Rows
            '...
        Next actRow
    Next actTable

Gruß
Lisa
Gast



Verfasst am:
03. Feb 2010, 18:35
Rufname:


AW: Wordfenster aktualisieren (refresh) während Makro läuft - AW: Wordfenster aktualisieren (refresh) während Makro läuft

Nach oben
       Version: Office 2007

Hallo Lisa,

danke für die zahlreichen Tipps, das ist wirklich sehr nett. Ich erzeuge zu Beginn ein neues, leers Dokument, lese dann aus dem zuvor offenen und schreibe in das neue. Ich hatte bereits versucht, mit Referenzen auf die Dokumente zu arbeiten, damit ich nicht jedesmal Documents(...) aufrufen muss, dass hatte aber irgendwie nicht funtioniert, und wie so oft rennt die Zeit. Aber ich werde es nochmal versuchen.

Den Wert actRow brauche ich auch noch an anderer Stelle, daher könnte ich forEach nur verwenden, wenn ich eine actRowNumber mitführe. Auch das probiere ich, wenn es zeitlich noch klappt. EIne beschleunigung des Makros kann ja nicht schaden.

Viele Grüße,

Christian
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Word Formate: Felder vor Drucken nich automatisch aktualisieren 11 bromm 13537 30. Apr 2014, 04:45
Gast Felder vor Drucken nich automatisch aktualisieren
Keine neuen Beiträge Word Formate: Alle Felder aktualisieren (strg+a - F8) geht nicht mehr 7 20zero1 6243 10. Apr 2014, 17:29
imthephillest Alle Felder aktualisieren (strg+a - F8) geht nicht mehr
Keine neuen Beiträge Word Serienbriefe: Serienbrief - Datum automatisch aktualisieren 4 Andi1982 235 16. März 2014, 21:15
Sabine698 Serienbrief - Datum automatisch aktualisieren
Keine neuen Beiträge Word Serienbriefe: Fill-In Felder aktualisieren sich vor Druck immer ! 0 Tunechi 309 21. Aug 2013, 09:34
Tunechi Fill-In Felder aktualisieren sich vor Druck immer !
Keine neuen Beiträge Word Serienbriefe: Grafik-Serienbrieffelder aktualisieren 0 griessie 192 08. Okt 2012, 17:26
griessie Grafik-Serienbrieffelder aktualisieren
Keine neuen Beiträge Word Formate: IV aktualisieren -> Deckblatt soll gleich bleiben 1 mowmow 295 06. Jun 2012, 15:44
MarkMH_K IV aktualisieren -> Deckblatt soll gleich bleiben
Keine neuen Beiträge Word Serienbriefe: Dokumente generieren - Textbaustein verknüpfen/aktualisieren 1 drobzz 1822 26. Okt 2010, 11:04
Gast Dokumente generieren - Textbaustein verknüpfen/aktualisieren
Keine neuen Beiträge Word Serienbriefe: Problem mit Querverweisen -> aktualisieren?? 0 12erOHV 1205 02. März 2010, 15:31
12erOHV Problem mit Querverweisen -> aktualisieren??
Keine neuen Beiträge Word Formate: Alle internen dynamischen Elemente aktualisieren 8 Mr.Jack999 1313 19. Aug 2009, 15:14
CJ Alle internen dynamischen Elemente aktualisieren
Keine neuen Beiträge Word Formate: Felder aktualisieren 1 dasbinich 1201 17. Aug 2009, 14:56
Oyano Felder aktualisieren
Keine neuen Beiträge Word Formate: Pfad aktualisieren 0 dieterdinger 501 21. Feb 2009, 11:58
dieterdinger Pfad aktualisieren
Keine neuen Beiträge Word Formate: Formatänderung nach aktualisieren von Feldern - Bug in Word? 1 vanilla 2413 19. Aug 2008, 16:23
Maulende Myrte Formatänderung nach aktualisieren von Feldern - Bug in Word?
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Dreamweaver Forum