' Iterieren ber alle Abstze eines Textdokumentes. 
' (Eingebettete Tabellen, Grafiken etc. werden ignoriert.)

Sub EachPara

'	Bildschirmausgabe ausschalten
	Selection.ActionStart ()

'	Aktuelle Cursor-Position merken	
	Selection.InsertBookmark ("CursorPosition")

'	Cursor an den Beginn des Dokumentes setzen	
	Selection.JumpToStartOfDoc ()

'	Schleife ber alle Abstze
	While not Selection.IsEndOfDoc

		' Cursor an das Ende des aktuellen Absatzes 
		' und den Absatz dabei markieren
		Selection.GoToEndOfPara (True)

		' --->>> hier die gewnschten Aktionen zur 
		' Manipulation der Abstze einfgen

		' Cursor an den Beginn des nchsten Absatzes
		Selection.GotoNextPara (False)

	Wend

	' Ausgangsposition des Cursors wieder herstellen
	' und verwendetes Bookmark lschen
 	Selection.GotoBookmark ("CursorPosition")
	Selection.DeleteBookmark ("CursorPosition")

	' Bildschirmausgabe wieder einschalten	
	Selection.ActionEnd ()

End Sub


' Beispiele zur Manipulation von Textabschnitten

Sub EditText

	' Aktuelle Markierung in Messagebox ausgeben
	MsgBox (Selection.Value)
	
	' Einfgen von Text an der Cursor-Position
	Selection.Insert("Test")

	' Aktueller Markierung die Zeichenvorlage 
	' "Platzhalter" zuweisen (Der Wert 1
	' steht fr das Zuweisen von Absatzvorlagen)
	Selection.StyleApply("Platzhalter", 1)

	' Aktuellem Absatz die Absatzvorlage 
	' "berschrift 1" zuweisen (Der Wert 2
	' steht fr das Zuweisen von Absatzvorlagen)
	Selection.StyleApply("berschrift 1", 2)

	' Schrift ndern: Schriftart
	Selection.Font.FamilyName = "Arial"
	Selection.Font.Style = "bold"
	Selection.Font.Charset = 0

	' Schrift ndern: Schriftgre (hier: 20)
	Selection.Font.Size = 20

	' Schrift ndern: Fettdruck (hier: hchste Intensitt)
	Selection.Font.Bold = 10

	' Schrift ndern: Farbe (hier: blau)
	Selection.Font.Color = RGB (0,0, 255)

	' Schatten ndern: Position setzen (hier: rechts unten)
	Selection.Shadow.Location = 4
	
	' Schatten ndern: Farbe setzen (hier: rot)
	Selection.Shadow.BackColor = RGB(255, 0, 0)

End Sub


' Iterieren ber alle Tabellen eines Textdokumentes. 

Sub EachTable

	'	Bildschirmausgabe ausschalten
	Selection.ActionStart ()

	'	Aktuelle Cursor-Position merken	
	Selection.InsertBookmark ("CursorPosition")

	' Schleife ber alle Tabellen
	For I = 1 To ActiveWindow.Tables.Count()

		' Cursor an den Anfang der Tabelle setzen 
		' (siehe Text)
		ActiveWindow.Tables(I).GotoCell(1, 1)

		' --->>> hier die gewnschten Aktionen zur 
		' Manipulation der Tabellen einfgen

	Next

	' Ausgangsposition des Cursors wieder herstellen
	' und verwendetes Bookmark lschen 
 	Selection.GotoBookmark ("CursorPosition")
	Selection.DeleteBookmark ("CursorPosition")

	' Bildschirmausgabe wieder einschalten	
	Selection.ActionEnd ()

End Sub


' Beispiele zur Manipulation von Tabellen innerhalb 
' eines Textdokumentes

Sub EditTable

		' Auswahl der aktuellen 
		Selection.InsertRows(1, False)

		' Breite der ersten Spalte auf 2cm setzen 
		' (Numerierung beginnt bei 0)
		Selection.SetColumnWidth(0, "2cm")

		' Einfgen eines Textes in die aktuelle Zelle
		Selection.Insert("Hey!")

		' Zur nchsten Zelle springen und dort Text einfgen
		Selection.JumpToNextCell()
		Selection.Insert("How are you?")

End Sub


Sub DoReplace1

	ActiveWindow.ReplaceAll("Hugo Beier", "Anton Schmidtchen")

End Sub


Sub DoReplace2

	' Erste Suche
	ActiveWindow.Search("Hugo Beier")

	' Schleife ber alle Suchausdrcke
	While (Selection.Value <> "")

			' Aktion 
			Selection.Insert("Anton Schmidtchen")
			
			' Erneute Suche
			ActiveWindow.Search("Hugo Beier")

	Wend

End Sub

