Clase Selection (Word VBA)

La clase Selection representa la selección actual en una ventana o panel.

Los principales procedimientos de la clase Selection son Copy, Delete y Select

Set

Para usar una variable de clase Selection, primero debe ser instanciado, por ejemplo

Dim slc as Selection
Set slc = Selection

Los siguientes procedimientos se pueden usar para establecer variables de clase Selection : Application.Selection, Pane.Selection y Window.Selection

Temas

Algunos procedimientos de esta clase se han agrupado en temas y se describen en páginas temáticas separadas

Format with its procedures Borders, ClearCharacterAllFormatting, ClearCharacterDirectFormatting, ClearCharacterStyle, ClearFormatting, ClearParagraphAllFormatting, ClearParagraphDirectFormatting, ClearParagraphStyle, CopyFormat, FitTextWidth, Font, FormattedText, Information, InsertStyleSeparator, PageSetup, ParagraphFormat, PasteAndFormat, PasteFormat, ReadingModeGrowFont, ReadingModeShrinkFont, SelectCurrentColor, SelectCurrentFont, SelectCurrentSpacing y Style
Sort with its procedures Sort, SortAscending, SortByHeadings y SortDescending

Métodos

Los principales métodos de la clase Selection son

Copy - Copia la selección especificada en el Portapapeles.

Selection.Copy

Delete - Elimina el número de caracteres o palabras especificado.

Dim lngDelete As Long
lngDelete = Selection.Delete()

Select - Selecciona el texto especificado.

Selection.Select

Otros Métodos

Collapse - Contrae una selección a la posición inicial o final.

Selection.Collapse

ConvertToTable - Convierte texto dentro de un intervalo en una tabla.

Dim tblConvertToTable As Table
Set tblConvertToTable = Selection.ConvertToTable()

EndKey - Mueve o extiende la selección al final de la unidad especificada.

Dim lngEndKey As Long
lngEndKey = Selection.EndKey()

EndOf - Mueve o extiende la posición del carácter final de un intervalo o de una selección al final de la unidad de texto más próxima.

Dim lngEndOf As Long
lngEndOf = Selection.EndOf()

GoTo - Mueve el punto de inserción a la posición de carácter inmediatamente anterior al elemento especificado y devuelve un objeto Range (excepto para las constantes wdGoToGrammaticalError, wdGoToProofreadingErroro wdGoToSpellingError ).

Dim rngGoTo As Range
Set rngGoTo = Selection.GoTo()

HomeKey - Mueve o extiende la selección al principio de la unidad especificada.

Dim lngHomeKey As Long
lngHomeKey = Selection.HomeKey()

InsertCaption - Inserta un título inmediatamente antes o después de la selección especificada.

Dim strLabel As String: strLabel =  
Selection.InsertCaption Label:=strLabel

InsertCrossReference - Inserta una referencia cruzada en un título, un marcador, una nota al pie o al final, o bien en un elemento para el que se ha definido un rótulo de título; por ejemplo, una ecuación, una figura o una tabla.

Dim strReferenceItem As String: strReferenceItem =  
Selection.InsertCrossReference ReferenceType:=wdRefTypeBookmark, ReferenceKind:=wdContentText, ReferenceItem:=strReferenceItem

InsertDateTime - Inserta la fecha o la hora actual, o ambas, como texto o como campo TIME.

Selection.InsertDateTime

InsertFile - Inserta todo o parte del archivo especificado.

Dim strFileName As String: strFileName =  
Selection.InsertFile FileName:=strFileName

InsertFormula - Inserta en la selección un campo = (Fórmula) que contiene una fórmula.

Selection.InsertFormula

InsertSymbol - Inserta un símbolo en lugar de la selección especificada.

Dim lngCharacterNumber As Long: lngCharacterNumber =  
Selection.InsertSymbol CharacterNumber:=lngCharacterNumber

InsertXML - Este método inserta el XML especificado en el documento en el cursor, reemplazando cualquier texto seleccionado.

Dim strXML As String: strXML =  
Selection.InsertXML XML:=strXML

Move - Se contrae la selección especificada a su posición inicial o final y, a continuación, mueve el objeto contraído el número especificado de unidades.

Dim lngMove As Long
lngMove = Selection.Move()

MoveDown - Mueve la selección hacia abajo y devuelve el número de unidades que se ha movido.

Dim lngMoveDown As Long
lngMoveDown = Selection.MoveDown()

MoveEnd - Mueve la posición de carácter final de un intervalo o de una selección.

Dim lngMoveEnd As Long
lngMoveEnd = Selection.MoveEnd()

MoveEndUntil - Mueve la posición final de la selección especificada hasta que se encuentre en el documento alguno de los caracteres especificados.

Dim strCset As String: strCset =  
Dim lngMoveEndUntil As Long
lngMoveEndUntil = Selection.MoveEndUntil(Cset:=strCset)

MoveEndWhile - Mueve la posición de carácter final de una selección mientras se encuentre en el documento alguno de los caracteres especificados.

Dim strCset As String: strCset =  
Dim lngMoveEndWhile As Long
lngMoveEndWhile = Selection.MoveEndWhile(Cset:=strCset)

MoveLeft - Mueve la selección a la izquierda y devuelve el número de unidades que se ha movido.

Dim lngMoveLeft As Long
lngMoveLeft = Selection.MoveLeft()

MoveRight - Mueve la selección a la derecha y devuelve el número de unidades que se ha movido.

Dim lngMoveRight As Long
lngMoveRight = Selection.MoveRight()

MoveStart - Mueve la posición inicial de la selección especificada.

Dim lngMoveStart As Long
lngMoveStart = Selection.MoveStart()

MoveStartUntil - Mueve la posición inicial de la selección especificada hasta que se encuentre en el documento alguno de los caracteres especificados.

Dim strCset As String: strCset =  
Dim lngMoveStartUntil As Long
lngMoveStartUntil = Selection.MoveStartUntil(Cset:=strCset)

MoveStartWhile - Mueve la posición inicial de la selección especificada mientras se encuentre en el documento alguno de los caracteres especificados.

Dim strCset As String: strCset =  
Dim lngMoveStartWhile As Long
lngMoveStartWhile = Selection.MoveStartWhile(Cset:=strCset)

MoveUntil - Mueve la selección especificada hasta que se encuentre en el documento uno de los caracteres especificados.

Dim strCset As String: strCset =  
Dim lngMoveUntil As Long
lngMoveUntil = Selection.MoveUntil(Cset:=strCset)

MoveUp - Mueve la selección hacia arriba y devuelve el número de unidades que se ha movido.

Dim lngMoveUp As Long
lngMoveUp = Selection.MoveUp()

MoveWhile - Mueve la selección especificada mientras se encuentre en el documento alguno de los caracteres especificados.

Dim strCset As String: strCset =  
Dim lngMoveWhile As Long
lngMoveWhile = Selection.MoveWhile(Cset:=strCset)

Next - Devuelve un objeto Range que representa la unidad siguiente con respecto a la selección especificada.

Dim rngNext As Range
Set rngNext = Selection.Next()

PasteExcelTable - Pega y da formato a una tabla de Microsoft Excel.

Selection.PasteExcelTable LinkedToExcel:=True, WordFormatting:=True, RTF:=True

PasteSpecial - Inserta el contenido del Portapapeles.

Selection.PasteSpecial

Previous - Mueve el texto seleccionado el número de unidades especificado y devuelve un objeto Range con relación a la selección contraída.

Dim rngPrevious As Range
Set rngPrevious = Selection.Previous()

SetRange - Establece las posiciones de carácter inicial y final de la selección.

Dim lngStart As Long: lngStart = 
Dim lngEnd As Long: lngEnd =  
Selection.SetRange Start:=lngStart, End:=lngEnd

StartOf - Mueve o extiende la posición inicial del intervalo especificado o la selección al principio de la unidad de texto más cercano.

Dim lngStartOf As Long
lngStartOf = Selection.StartOf()

Propiedades

Active True si está activa la selección en la ventana o panel especificado.

Dim booActive As Boolean
booActive = Selection.Active

BookmarkID Devuelve el número del marcador que contiene el principio de la selección especificada.

Dim lngBookmarkID As Long
lngBookmarkID = Selection.BookmarkID

Bookmarks Devuelve una colección bookmarks que representa todos los marcadores de un documento, intervalo o selección.

Dim bkmsBookmarks As Bookmarks
Set bkmsBookmarks = Selection.Bookmarks

Cells Devuelve una colección Cells que representa las celdas de tabla en una selección.

Dim cllsCells As Cells
Set cllsCells = Selection.Cells

Characters Devuelve una colección Characters que representa los caracteres de un documento, intervalo o selección.

Dim chrsCharacters As Characters
Set chrsCharacters = Selection.Characters

ChildShapeRange Devuelve una colección ShapeRange que representa las formas secundarias contenidas en una selección.

Dim sreChildShapeRange As ShapeRange
Set sreChildShapeRange = Selection.ChildShapeRange

Columns Devuelve una colección Columns que representa todas las columnas de tabla de una selección.

Dim clmsColumns As Columns
Set clmsColumns = Selection.Columns

ColumnSelectMode True si está activa la selección de columnas.

Selection.ColumnSelectMode = True

Comments Devuelve una colección Comments que representa todos los comentarios del documento especificado.

Dim cmmsComments As Comments
Set cmmsComments = Selection.Comments

Document Devuelve un objeto Document asociado a la selección especificada.

Dim docDocument As Document
Set docDocument = Selection.Document

Editors Devuelve un objeto Editors que representa a todos los usuarios autorizados para modificar una selección dentro de un documento.

Dim edtsEditors As Editors
Set edtsEditors = Selection.Editors

End Devuelve o establece la posición del carácter final de una selección.

Selection.End =

EndnoteOptions Devuelve un objeto EndnoteOptions que representa las notas al final de una selección.

Dim eosEndnoteOptions As EndnoteOptions
Set eosEndnoteOptions = Selection.EndnoteOptions

Endnotes Devuelve una colección Endnotes que representa todas las notas al final contenidas en una selección.

Dim endsEndnotes As Endnotes
Set endsEndnotes = Selection.Endnotes

EnhMetaFileBits Devuelve un valor Variant que representa una representación gráfica de cómo aparece una selección o un intervalo de texto.

Dim varEnhMetaFileBits As Variant
varEnhMetaFileBits = Selection.EnhMetaFileBits

ExtendMode True si el modo Extender está activo.

Selection.ExtendMode = True

Fields Devuelve una colección Fields de sólo lectura que representa todos los campos de la selección.

Dim fldsFields As Fields
Set fldsFields = Selection.Fields

Find Devuelve un objeto Find que contiene los criterios para una operación de búsqueda.

Dim fndFind As Find
Set fndFind = Selection.Find

Flags Devuelve o establece las propiedades de la selección.

Selection.Flags = wdSelActive

FootnoteOptions Devuelve un objeto FootnoteOptions que representa las notas al pie de una selección.

Dim fosFootnoteOptions As FootnoteOptions
Set fosFootnoteOptions = Selection.FootnoteOptions

Footnotes Devuelve una colección Footnotes que representa todas las notas al pie en un intervalo, selección o documento.

Dim ftnsFootnotes As Footnotes
Set ftnsFootnotes = Selection.Footnotes

FormFields Devuelve una colección FormFields que representa todos los campos de formulario de la selección.

Dim ffsFormFields As FormFields
Set ffsFormFields = Selection.FormFields

Frames Devuelve una colección Frames que representa todos los marcos de una selección.

Dim frmsFrames As Frames
Set frmsFrames = Selection.Frames

HasChildShapeRange True si la selección contiene formas secundarias.

Dim booHasChildShapeRange As Boolean
booHasChildShapeRange = Selection.HasChildShapeRange

HeaderFooter Devuelve un objeto HeaderFooter para la selección especificada.

Dim hfrHeaderFooter As HeaderFooter
Set hfrHeaderFooter = Selection.HeaderFooter

HTMLDivisions Devuelve un objeto HTMLDivisions que representa una división HTML en un documento Web.

Dim htmsHTMLDivisions As HTMLDivisions
Set htmsHTMLDivisions = Selection.HTMLDivisions

Hyperlinks Devuelve una colección Hyperlinks que representa todos los hipervínculos de la selección especificada.

Dim hypsHyperlinks As Hyperlinks
Set hypsHyperlinks = Selection.Hyperlinks

InlineShapes Devuelve una colección InlineShapes que representa todos los objetos InlineShape de una selección.

Dim issInlineShapes As InlineShapes
Set issInlineShapes = Selection.InlineShapes

IPAtEndOfLine True si el punto de inserción está al final de una línea que se ajusta a la siguiente línea.

Dim booIPAtEndOfLine As Boolean
booIPAtEndOfLine = Selection.IPAtEndOfLine

IsEndOfRowMark True si la selección o del intervalo se contrae y se encuentra en la marca de final de fila en una tabla.

Dim booIsEndOfRowMark As Boolean
booIsEndOfRowMark = Selection.IsEndOfRowMark

LanguageDetected Devuelve o establece un valor de tipo Boolean que especifica si Microsoft Word ha detectado el idioma del texto seleccionado.

Selection.LanguageDetected = True

LanguageID Devuelve o establece el idioma del objeto especificado.

Selection.LanguageID = wdAfrikaans

LanguageIDFarEast Devuelve o establece un idioma del este asiático para el objeto especificado.

Selection.LanguageIDFarEast = wdAfrikaans

LanguageIDOther Devuelve o establece el idioma del objeto especificado.

Selection.LanguageIDOther = wdAfrikaans

NoProofing True si el corrector ortográfico y gramatical omite el texto especificado.

Selection.NoProofing =

OMaths Devuelve una colección OMaths que representa los objetos OMath de la selección actual.

Dim omsOMaths As OMaths
Set omsOMaths = Selection.OMaths

Orientation Devuelve o establece la orientación del texto de una selección cuando está habilitada la característica de dirección del texto.

Selection.Orientation = wdTextOrientationDownward

Paragraphs Devuelve una colección Paragraphs que representa todos los párrafos de la selección especificada.

Dim prgsParagraphs As Paragraphs
Set prgsParagraphs = Selection.Paragraphs

Parent Devuelve un objeto Object que representa el objeto primario del objeto Selection especificado.

Dim objParent As Object
Set objParent = Selection.Parent

PreviousBookmarkID Devuelve el número del último marcador que comienza antes o en el mismo lugar que la selección o del intervalo; Devuelve 0 (cero) si no hay ningún marcador correspondiente.

Dim lngPreviousBookmarkID As Long
lngPreviousBookmarkID = Selection.PreviousBookmarkID

Range Devuelve un objeto Range que representa la parte de un documento incluida en el objeto especificado.

Dim rngRange As Range
Set rngRange = Selection.Range

Rows Devuelve una colección Rows que representa todas las filas de tabla de un intervalo, selección o tabla.

Dim rwsRows As Rows
Set rwsRows = Selection.Rows

Sections Devuelve una colección Sections que representa las secciones de la selección especificada.

Dim sctsSections As Sections
Set sctsSections = Selection.Sections

Sentences Devuelve una colección Sentences que representa todas las oraciones de la selección.

Dim sntsSentences As Sentences
Set sntsSentences = Selection.Sentences

Shading Devuelve un objeto shading que hace referencia al formato de sombreado de la selección especificada.

Dim shdShading As Shading
Set shdShading = Selection.Shading

ShapeRange Devuelve una colección ShapeRange que representa todos los objetos Shape de la selección.

Dim sreShapeRange As ShapeRange
Set sreShapeRange = Selection.ShapeRange

Start Devuelve o establece la posición del carácter inicial de una selección.

Selection.Start =

StartIsActive True si el principio de la selección está activo.

Selection.StartIsActive = True

StoryLength Devuelve el número de caracteres del artículo que contiene la selección especificada.

Dim lngStoryLength As Long
lngStoryLength = Selection.StoryLength

StoryType Devuelve el tipo de artículo de la selección especificada.

Dim wstStoryType As WdStoryType
wstStoryType = Selection.StoryType

Tables Devuelve una colección tables que representa todas las tablas de la selección especificada.

Dim tblsTables As Tables
Set tblsTables = Selection.Tables

Text Devuelve o establece el texto de la selección especificada.

Selection.Text =

TopLevelTables Devuelve una colección tables que representa las tablas del nivel de anidamiento más externo de la selección actual.

Dim tblsTopLevelTables As Tables
Set tblsTopLevelTables = Selection.TopLevelTables

Type Devuelve el tipo de selección.

Dim wstType As WdSelectionType
wstType = Selection.Type

WordOpenXML Devuelve una cadena que representa el XML incluido dentro de la selección en el formato XML abierto de Microsoft Word.

Dim strWordOpenXML As String
strWordOpenXML = Selection.WordOpenXML

Words Devuelve una colección Words que representa todas las palabras de una selección.

Dim wrdsWords As Words
Set wrdsWords = Selection.Words

XML Devuelve una cadena que representa el texto XML en el objeto especificado.

Dim strXML As String
strXML = Selection.XML