Hallo Miteinander,
Ich bin leider kein VBA Profi - denoch habe ich die Aufgabe erhalten bestehenden Code zu analysieren.
Das Problem lautet dass das selbe Script unter Word 2003 fast 10 mal schneller lief.
Das Hauptproblem scheint von folgendem Select Befehl zu kommen
.FormFields(i).Select
Kennt jemand eine Möglichkeit folgende Funktionalität ohne diesen Befehl abzubilden
With ActiveDocument
For i = .FormFields.Count To 1 Step -1
Select Case Arr(i)
Case cAndere
'Nix tun, also nicht löschen
Case cLoesch
'Weg mit dem weil es nicht angehakt ist
.FormFields(i).Select
Selection.MoveDown Unit:=wdParagraph, Count:=1, Extend:=wdExtend
Selection.Delete
Case cLassen
'Weg mit der Checkbox und weg mit dem Einzug des Absatzes
.FormFields(i).Select
.FormFields(i).Delete
With Selection
.Delete Unit:=wdCharacter, Count:=1
.MoveDown Unit:=wdParagraph, Count:=1, Extend:=wdExtend
With .ParagraphFormat
.LeftIndent = CentimetersToPoints(0)
.FirstLineIndent = CentimetersToPoints(0)
End With
End With
Case Else
'Sollte ein Fehler auftreten
MsgBox "Constante nicht definiert"
End Select
Next i
End With
Danke und FG
|