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:=1Dacă 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 curSelWith 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 WithDupă 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)).SelectWith testRange If .Information(wdStartOfRangeColumnNumber) <> _ .Information(wdEndOfRangeColumnNumber) Then _ .Tables(1).Columns(.Information _ (wdEndOfRangeColumnNumber)).DeleteEnd With