PDA

Ver la Versión Completa : Leer archivo de texto y extraer lineas de el


mp3968
17-05-2007, 17:21:35
quiero abrir un archivo de word , pero a ese archivo extraerle las 2 primeras lineas que es donde esta el titulo esas lineas guardarlas en otro archivo .

como se podria hacer para hacer eso pero con varios archivos a la vez .

Codigo que tengo de otro ejemplo que encontre x ahi


unit Prueba;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,ComObj;

type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
MiWord: variant; //Para instanciar el Word
documento:string; //Para “construir” el path del documento
implementation

{$R *.dfm}

procedure TForm1.Button2Click(Sender: TObject);
begin
exit
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
try
//Creamos una instancia de MS-Word.
MiWord := CreateOleObject('Word.Application');
MiWord.Visible := true;
//Construimos el path del documento a partir de la carpeta de la aplicación.
documento:=ExtractFilePath(Application.ExeName)+'documentos\nombre_documento.xrc’;
//Si el documento existe, lo abrimos, si no creamos uno.
If FileExists(documento) then
MiWord.Documents.Open (documento)
else
MiWord.Documents.Add;
//Modo en que aparece la aplicación (maximizada, minimizada o normal):
MiWord.WindowState:=1;
MiWord.Caption:='Mi documento';
except on EOleError do
end;


end.


Errores que tengo


[Error] Prueba.pas(41): Unterminated string
[Error] Prueba.pas(43): Missing operator or semicolon
[Error] Prueba.pas(46): Incompatible types: 'String' and 'procedure, untyped pointer or untyped parameter'
[Error] Prueba.pas(54): ';' expected but '.' found
[Error] Prueba.pas(56): Declaration expected but end of file found
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Prueba.pas'

aeff
19-05-2007, 20:27:53
hola colega, si lo que deseas es abrir un documento word, copiar sus dos primeras lineas y pegarla en otro nuevo documento, aqui va algo:



uses ComObj;

procedure TForm1.Button1Click(Sender: TObject);
const
wdLine = 5;
wdScreen = 7;
wdExtend = 1;
var
vWordApp: Variant;
begin
//
vWordApp := CreateOleObject('Word.Application');
vWordApp.Visible := true;
vWordApp.Documents.Open('C:\Documents and Settings\Alberto\Mis documentos\CABOCLA.doc');
vWordApp.Selection.HomeKey(wdLine); {Principio de la linea, X =0}
vWordApp.Selection.MoveUp(wdScreen, 1); {Principio de la pantalla, Y = 0}
vWordApp.Selection.MoveDown(wdLine, 2, wdExtend); {Bajamos y seleccionamos las dos lineas que deseas, *el 2do paramtero = 2*}
vWordApp.Selection.Copy; {Copiamos la seleccion}
vWordApp.Documents.Add; {Nuevo documento}
vWordApp.Selection.Paste; {Pegamos lo que habiamos copiado}

end;