Hallo,
ch bin gerade in Word 2003 dabei ein Makro zu schreiben das zwei Tabellen die durch Text oder leerzeilen voneinander getrennt sind miteinander verbindet. momentan verwende ich dafür
Selection.Tables(1).Select
Selection.Cut
...
Selection.PasteAppendTable
Aber dadurch geht das Verloren was man zuvor in der Zwischenablage stehen hatte, z.B. Text, Grafiken, Dateien oder sonst was.
Wie kann ich meine Tabelle nun so ausschneiden u. einfügen, oder noch besser einfach verschieben ohne dass dieser gewaltig nachteilige Nebeneffekt auftritt?
Hier mal mein ganzes Makro:
Public Sub tabellen_verbinden()
If Selection.Information(wdWithInTable) = False Then
InfBox "Der Cursor muss sich innerhalb einer Tabelle befinden um diese Aktion durchführen zu können."
Exit Sub
End If
Select Case ActiveDocument.Tables.Count
Case Is = 1:
InfBox "Es ist nur eine Tabelle vorhanden. Es kann also keine weitere hinzugefügt werden."
Case Is > ActiveTableIndex:
Dim oRange As Range
ActiveDocument.Tables.Item(ActiveTableIndex + 1).Range.Cut 'Tabelle ausschneiden
Set oRange = Selection.Tables(1).Range
oRange.SetRange Start:=oRange.End, End:=oRange.End
oRange.PasteAppendTable 'Tabelle einfügen
Case Is = ActiveTableIndex:
InfBox "Unter der ausgewählten Tabelle befinden sich keine weiteren Tabellen mehr die angefügt werden könnten."
End Select
End Sub
Private Function ActiveTableIndex() As Integer
ActiveTableIndex = ActiveDocument.Range(0, Selection.Tables(1).Range.End).Tables.Count
End Function |