PDA

Ver la Versión Completa : Obtener la linea actual de Word


aom
17-01-2007, 17:41:58
Hola,
necesito obtener la linea actual de Word (aquella en la que está el cursor).
Hasta ahora jugaba con el hecho de que la línea que busco tiene una fuente especial y si me coloco al principio de la línea puedo hacer lo siguiente:

Document.Application.Selection.SelectCurrentFont;
Document.application.selection.Copy;

Con esto tengo en el ClipBoard la linea que necesito, pero solo porqué tiene una fuente diferente a las líneas que la preceden y suceden. Necesito poder obtener la línea sin utilizar este truco-chapuza ;) .

Alguien sabe cómo hacerlo?

Gracias por adelantado

aom
17-01-2007, 19:51:00
Hola,
ya he encontrado como hacerlo. Para quién le pueda servir:


procedure ObtenerLineaActualWord:string;
var
oleNumero:OleVariant;
a1,a2,a3: OleVariant;
begin
a1:=emptyparam;
a2:=wdExtend;
a3:=wdCharacter;
oleNumero:=1;
//inicio de la línea
Document.Application.Selection.HomeKey(a1,a1);
//fin de la línea
Document.Application.Selection.EndKey(a1,a2);
//para descartar el salto de línea
Document.Application.Selection.MoveLeft(a3,oleNumero,a2);
//seleccionar línea
Document.Application.Selection.Select;
//Copiar la selección en el clipboard
Document.application.selection.Copy;

result:=ClipBoard.AsText;
end;



Saludos