** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Otros de Microsoft: Windows y Office > Word
  Mensajes nuevos Mensajes nuevos RSS - Manejar texto seleccionado
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Manejar texto seleccionado

 Responder Responder
Autor
Mensaje
AmadeoIsaboya Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 24/Mayo/2010
Localización: España
Estado: Sin conexión
Puntos: 709
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita AmadeoIsaboya Cita  ResponderRespuesta Enlace directo a este mensaje Tema: Manejar texto seleccionado
    Enviado: 13/Octubre/2018 a las 20:24
Buenas tardes,
Aunque en Access me desenvuelvo bien con el Visual Basic, en Word nunca me ha hecho falta ir más allá de macros.
Me estoy haciendo unos apuntes de Inglés, copio un texto de una página web y lo pego en Word. Quisiera automatizar un poco la tarea. Aunque pego el texto sin formato, me aparecen unos huecos (saltos de línea, tabulaciones, espacios) en mi texto. En concreto entre dos acepciones (traducciones) de una palabra. Mi idea era juntar los dos resultados, separándolos con coma o punto y coma.
Para ello, selecciono un caracter a la derecha de mi primera traducción, y con un bucle suprimir el espacio o caracter no imprimible, y volver a empezar hasta que encuentre una letra.
Si es o no es suprimible lo tengo resuelto (creo) con la función Asc (núm. de caracter Ascii)
El problema es que una vez suprimido tiene que seleccionar el siguiente espacio y actuar en consecuencia, borrar si no es letra, exit sub si sí lo es.
Os pego el código que NO me ha funcionado. En teoría cuando me desplazo a la izquierda debería deseleccionar y "partir de cero" pero sólo suprime un caracter y me queda seleccionada parte de la palabra anterior:

Sub SuprimirGaps() ' Macro grabada el 12/10/2018 por A
    Selection.TypeText Text:=", " 'añadir coma
Suprimir:
Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdExtend ' seleccionar un caracter a la derecha
Select Case Asc(Selection.Text)
Case 0 To 47 ' No imprimibles, saltos de línea, pág, tabulaciones
Selection.Delete Unit:=wdCharacter, Count:=1 'Borrar
Selection.MoveLeft Unit:=wdCharacter, Count:=1 'Deseleccionar
GoTo Suprimir 'Reiterar
Case 127 'Parece espacio
Selection.Delete Unit:=wdCharacter, Count:=1 'Borrar
Selection.MoveLeft Unit:=wdCharacter, Count:=1 'Deseleccionar
GoTo Suprimir 'Reiterar
Case Else ' números, letras, signos de puntuación
Exit Sub
End Select

Gracias por anticipado y un saludo
Recuerden, hoy es el día de mañana que tanto les preocupaba ayer. (Dale Carnegie)
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable