PDA

Ver la Versión Completa : Como seleccionar texto Word desde Delphi ?


RJF
04-04-2006, 14:49:03
Se quepuede sonar una pregunta reiterativa, pero he leido todas las del foro sobre este tema de Word y en ninguna sale lo que necesito. Resulta que con un TreeView creo un TXT y lo abro con Word, claro en formato Ascii, entonces quiero seleccionarlo y cambiarle la letra, todo desde el Delphi claro esta, esta todo bien, hasta se como cambiar la letra, pero no se como seleccionar el texto o todo el documento. Vale aclarar que si no selecciono el texto no me cambia la letra.
Aqui mi codigo de como uso el Word
procedure TFrmPlanCuenta.BitBtn1Click(Sender: TObject);
var oWord : TWordApplication;
Fichero: OleVariant;
begin
inherited;
tv_eg1.SaveToFile(ExtractFilePath(ParamStr(0))+ 'PlanCuenta.txt'); //Gravo el TreeView en un txt
oWord := TWordApplication.Create (Nil);
oWord.Connect;
oWord.Visible:= True;
Fichero := ExtractFilePath(ParamStr(0))+ 'PlanCuenta.txt';
oWord.Documents.Open(fichero,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,Empty Param,EmptyParam,EmptyParam, EmptyParam, EmptyParam,EmptyParam, EmptyParam, EmptyParam);
oWord.ActiveDocument.Sections.PageSetup.TopMargin := 1;
//Aca abajo deberia ir la seleccion del texto o todo el documento
//oWord.Selection.
oWord.Selection.Font.Name := 'arial';
oWord.Selection.Font.Size := 10;
oWord.ActiveDocument.Activate;
end;


Bueno si me dan una mano estare agradecido. Saludos

Ruben_Cu
08-04-2006, 18:33:22
Hola RJF, para que selecciones todo el documento debes hacer lo siguiente:

Código Delphi [-]procedure TFrmPlanCuenta.BitBtn1Click(Sender: TObject);
var oWord : TWordApplication;
Fichero, Unidad, Extension : OleVariant; //dos varibles nuevas
begin
inherited;
tv_eg1.SaveToFile(ExtractFilePath(ParamStr(0))+ 'PlanCuenta.txt'); //Gravo el TreeView en un txt
oWord := TWordApplication.Create (Nil);
oWord.Connect;
oWord.Visible:= True;
Fichero := ExtractFilePath(ParamStr(0))+ 'PlanCuenta.txt';
oWord.Documents.Open(fichero,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,Empty Param,EmptyParam,EmptyParam, EmptyParam, EmptyParam,EmptyParam, EmptyParam, EmptyParam);
oWord.ActiveDocument.Sections.PageSetup.TopMargin := 1;
//Aca abajo deberia ir la seleccion del texto o todo el documento
//asignas valores a las variables que vienen estructurados desde VB
Unidad:=wdStory;
Extension:=wdExtend;
oWord.Selection.EndKey(Unidad,Extension); //Como estas posicionado en el inicio esta declaración te selecciona todo el documento
oWord.Selection.Font.Name := 'arial';
oWord.Selection.Font.Size := 10;
oWord.ActiveDocument.Activate;
end;

Espero te sea útil
Saludos

marcoszorrilla
08-04-2006, 18:45:04
Solamente decir que me alegro mucho de ver de nuevo a Rubén en los Foros.

Un Saludo.