Pe lângă stabilirea faptului că selecția este într-un tabel, aveți posibilitatea să utilizați proprietatea Information pentru a afla alte informații care pot fi utile atunci când lucrați cu tabele folosind un obiect Range sau un obiect Selection.
După ce ați stabilit că selecția se află într-un tabel (probabil utilizând argumentul wdWithinTable), verificați dacă selecția se află la un marcator de sfârșit de rând, și nu într-o celulă. Dacă selecția se află la un marcator de sfârșit de rând, anumite acțiuni eșuează. De exemplu, încercarea de a selecta celula sau coloana curentă nu reușește, deoarece selecția se află în afara oricărei celule sau coloane, dar încercarea de a selecta rândul curent reușește.
Pentru a verifica dacă selecția este la marcatorul de sfârșit de rând, utilizați argumentul AtEndOfRowMarker pentru proprietatea Information. Următoarea instrucțiune mută selecția cu un caracter la stânga (în ultima celulă din același rând), dacă selecția este la sfârșitul marcatorului de rând:
If Selection.Information(wdAtEndOfRowMarker) = True Then _
Selection.MoveLeft Unit:=wdCharacter, Count:=1
Dacă selecția conține marcatorul de sfârșit de rând, în loc să fie o selecție restrânsă (un punct de inserare) înainte de marcator, argumentul wdAtEndOfRowMarker returnează False. Pentru a evita un marcator selectat de sfârșit de rând care cauzează probleme în procedurile dvs., restrângeți selecția dacă nu este restrânsă înainte de a verifica dacă se află la marcatorul de sfârșit de rând. Următoarele declarații fac acest lucru, utilizând o variabilă numită curSel pentru a restabili selecția care se restrânge, cu excepția cazului în care restrângerea selecției lasă selecția la un marcator de sfârșit de rând:
Dim curSel
With Documents("Communications.docm")
If Selection.Type <> wdSelectionIP Then
Set curSel = Selection.Range Selection.Collapse Direction:=wdCollapseStart
End If
If Selection.Information(wdAtEndOfRowMarker) = True Then
Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdMove
Else
If curSel <> "" Then
curSel.Select
Set curSel = Nothing
End If
End With
După ce ați stabilit că selecția se află cu siguranță într-un tabel, puteți prelua șase informații utile despre tabel:
Selection.Tables(1).Columns(Selection.Information _
(wdStartOfRangeColumnNumber)).Select
With testRange
If .Information(wdStartOfRangeColumnNumber) <> _
.Information(wdEndOfRangeColumnNumber) Then _
.Tables(1).Columns(.Information _
(wdEndOfRangeColumnNumber)).Delete
End With