Hallo Andreas,
dann ist es nach meiner Einschätzung kein wirkliches
Seriendokument. Oder es wurde auf irgendeine mir unbekannte Art
und Weise nachbearbeitet. Hast du mal geprüft wie die
Seitentrennung erfolgt? Dazu brauchst du in der Symbolleiste nur
das Spiegelverkehrte P (steht für Paragraph) anklicken, dann siehst
du alle Umbruchzeichen. Aber das weißt du sicher.
Wenn es wirklich fortlaufender Text ist, (kann ich mir nicht vorstellen)
könnte man die Schleife so aufbauen. Zähle die Zeilenumbrüche (P-
Zeichen) pro Seite. Sofern kein Wagenrücklaufzeichen (EnterPfeil) zu
sehen ist, kannst du das auch in der Statusleiste ablesen. Definiere
nun oben die neue Variable Seitenzeilen mit diesem Wert (bei mir
57) und schreibe den Code wie folgt um.
Sub NamenAuslesen()
Dim exl As Object
Zeile = 9 'Zeile in der der Name steht. (bei Zeilenumbruch mit Enter)
Seitenzeilen = 57 'Absätze pro Seite bei fortlaufendem Text
Blatt = "Tabelle1" 'ExcelBlatt in dem die Daten erscheinen sollen.
'Erstellt eine neues ExcelFenster
Set exl = CreateObject("excel.application")
exl.Visible = True
'Erstellt im ExcelFenster eine neue Arbeitsmappe
'wb ist hier die Variable für das Workbook-Objekt
Set wb = exl.workbooks.Add
wb.sheets(Blatt).Cells(1, 1) = "Vorname"
wb.sheets(Blatt).Cells(1, 2) = "Nachname"
'Liest die Namen aus Word aus.
'Paragraphs sind die spiegelverkehrten P-Zeichen (Absatzeichen)
For i = Zeile To ActiveDocument.Paragraphs.Count Step Seitenzeilen
k = k + 1
Person = ActiveDocument.Paragraphs(i).Range.Text
'sucht das erste Leerzeichen und trennt in Vor- und Nachnamen
Trennung = InStr(1, Person, " ")
If Trennung > 0 Then
Vorname = Left(Person, Trennung - 1)
Nachname = Right(Person, Len(Person) - Trennung)
Else
Nachname = Person
End If
wb.sheets(Blatt).Cells(k + 1, 1) = Vorname
wb.sheets(Blatt).Cells(k + 1, 2) = Nachname
Next i
End Sub
Gruß Mr. K.