Compartir a través de


Selection (objeto)

Importante

En este artículo es máquina traducido, vea la exención de responsabilidad. Encontrará la versión en inglés de este artículo aquí para su referencia.

Representa la selección actual de una ventana o un panel. Una selección representa el área seleccionada (o resaltada) del documento o el punto de inserción si no hay nada seleccionado en el documento. Sólo puede haber un objeto Selection por cada panel de ventana del documento y sólo puede haber un objeto Selection activo en toda la aplicación.

Observaciones

Utilice la propiedad Selection para devolver el objeto Selection. Si no se utiliza un cualificador de objeto con la propiedad Selection, Microsoft Word devuelve la selección en el panel activo de la ventana del documento activo. En el siguiente ejemplo, se copia la selección actual del documento activo.

Selection.Copy

En el siguiente ejemplo, se elimina la selección del tercer documento de la colección Documents. Para tener acceso a la selección actual no es necesario que el documento esté activo.

Documents(3).ActiveWindow.Selection.Cut

En el siguiente ejemplo, se copia la selección del primer panel del documento activo y se pega en el segundo panel.

ActiveDocument.ActiveWindow.Panes(1).Selection.Copy
ActiveDocument.ActiveWindow.Panes(2).Selection.Paste

La propiedad Text es la propiedad predeterminada del objeto Selection. Utilícela para establecer o devolver el texto de la selección actual. En el siguiente ejemplo, se asigna el texto de la selección actual a la variable strTemp, quitando el último carácter si es una marca de párrafo.

Dim strTemp as String

strTemp = Selection.Text
If Right(strTemp, 1) = vbCr Then _
    strTemp = Left(strTemp, Len(strTemp) - 1)

El objeto Selection tiene varios métodos y propiedades que permiten contraer, expandir o cambiar la selección actual. En el siguiente ejemplo, se mueve el punto de inserción al final del documento y se seleccionan las tres últimas líneas.

Selection.EndOf Unit:=wdStory, Extend:=wdMove
Selection.HomeKey Unit:=wdLine, Extend:=wdExtend
Selection.MoveUp Unit:=wdLine, Count:=2, Extend:=wdExtend

El objeto Selection tiene varios métodos y propiedades que permiten editar el texto seleccionado en un documento. En el siguiente ejemplo, se selecciona la primera frase del documento activo y se reemplaza por un párrafo nuevo.

Options.ReplaceSelection = True
ActiveDocument.Sentences(1).Select
Selection.TypeText "Material below is confidential."
Selection.TypeParagraph

En el siguiente ejemplo, se elimina el último párrafo del primer documento de la colección Documents y se pega al principio del segundo documento.

With Documents(1)
    .Paragraphs.Last.Range.Select
    .ActiveWindow.Selection.Cut
End With

With Documents(2).ActiveWindow.Selection
    .StartOf Unit:=wdStory, Extend:=wdMove
    .Paste
End With

El objeto Selection tiene varios métodos y propiedades que permiten cambiar el formato de la selección actual. En el siguiente ejemplo, se cambia la fuente de la selección actual de Times New Roman a Tahoma.

If Selection.Font.Name = "Times New Roman" Then _
    Selection.Font.Name = "Tahoma"

Utilice propiedades como Flags, Information y Type para devolver información acerca de la selección actual. Puede utilizar el siguiente ejemplo en un procedimiento para determinar si hay algo seleccionado en el documento activo y, si no hay nada seleccionado, omitir el resto del procedimiento.

If Selection.Type = wdSelectionIP Then
    MsgBox Prompt:="You have not selected any text! Exiting procedure..."
    Exit Sub
End If

Aunque una selección esté contraída en un punto de inserción, no está necesariamente vacía. Por ejemplo, la propiedad Text devolverá el carácter situado a la derecha del punto de inserción; este carácter aparece también en la colección Characters del objeto Selection. No obstante, si se hace una llamada a un método como Cut o Copy desde una selección contraída, se produce un error.

El usuario puede seleccionar una parte de un documento que no represente texto contiguo, por ejemplo, utilizando la tecla ALT con el mouse (ratón). Puesto que el comportamiento de esa selección puede ser imprevisible, quizá deba incluir un paso en el código para comprobar la propiedad Type de una selección antes de ejecutar ninguna operación con ella (Selection.Type = wdSelectionBlock). Así mismo, las selecciones que incluyan celdas de tablas pueden tener también un comportamiento imprevisible. La propiedad Information indica si la selección está dentro de una tabla (Selection.Information(wdWithinTable) = True). En el siguiente ejemplo, se determina si una selección es normal (por ejemplo, no es ni una fila ni una columna de una tabla, tampoco es un bloque vertical de texto); puede usar este procedimiento para comprobar la selección actual antes de efectuar alguna operación en ella.

If Selection.Type <> wdSelectionNormal Then
    MsgBox Prompt:="Not a valid selection! Exiting procedure..."
    Exit Sub
End If

Como los objetos de Range comparten muchos de los métodos y propiedades como objetos de Selection, utilizando objetos de Range es preferible para manipular un documento cuando no hay una razón para cambiar físicamente la selección actual. Para obtener más información acerca de los objetos Selection y Range, consulte Working with the Selection object y Working with Range objects.

Nota

Declinación de responsabilidades de traducción automática: Este artículo se ha traducido con un sistema informático sin intervención humana. Microsoft ofrece estas traducciones automáticas para que los hablantes de otros idiomas distintos del inglés puedan disfrutar del contenido sobre los productos, los servicios y las tecnologías de Microsoft. Puesto que este artículo se ha traducido con traducción automática, es posible que contenga errores de vocabulario, sintaxis o gramática.