Schleife über Worddatei mit VB Makro

Zolthan

Grünschnabel
Ich möchte in einem Wordmakro eine Schleife über die bereits geöffnete Worddatei laufen lassen. Ich habe folgendes als Standardmethode gefunden.

Open "Dateiname" For Input As #1
Do While Not EOF(1)

...
...

Loop

Mit dieser Methode würde ich jedoch eine Datei öffnen müssen, was ich nicht will. Kann man z.B. hinter EOF eine Angabe machen, die dafür sorgt, das die aktuell geöffnete Worddatei verwendet wird. Wenn ja wie?
 

Dario Linsky

Erfahrenes Mitglied
du kannst auf das aktuelle dokument zugreifen und damit auch eigentlich alles mögliche innerhalb des dokuments machen.
ich versteh nur nicht, warum die datei sich selber durchsuchen soll. :confused:
 

Zolthan

Grünschnabel
Original geschrieben von asphyxia
du kannst auf das aktuelle dokument zugreifen und damit auch eigentlich alles mögliche innerhalb des dokuments machen.
ich versteh nur nicht, warum die datei sich selber durchsuchen soll. :confused:

Das Makro soll die Datei durchsuchen. Die Schleife im Makro soll sich wenn sie das Ende der Datei gefunden hat beenden. Bitte um Code.
 

Dario Linsky

Erfahrenes Mitglied
wenn du im dokument nach einem bestimmten string suchen willst, kannst du einfach mit dem document-objekt arbeiten und den string suchen.
wenn du die ganze datei durchsuchen willst, musst du die wohl oder übel nochmal neu öffnen.
 

Zolthan

Grünschnabel
Habe das Problem inzwischen gelöst.
Hier der Code

'An den Anfang des Worddokuments springen
Selection.GoTo What:=wdGoToPage, Which:=wdGoToNext, Name:="1"
Selection.Find.ClearFormatting
With Selection.Find
.Text = _
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With

'Label
First:

'hier durchsucht man die Datei nach einem Muster
'befindet man sich noch nicht am Ende der Datei springt man durch das
'GoTo an den Anfang der Schleife nach First: und such das zweite Mal
'nach diesem Muster ...

'ich muß die Datei z.B. nach folgendem durchsuchen
'----------------------------------------------------
'Überschrift
'----------------------------------------------------
'
'die Striche muß ich löschen und den Text formatieren

If Selection.MoveDown Then GoTo First Else GoTo Second
Second: