以Delphi 取得Word全部文字
網路上找的一大堆都不能用...
procedure TForm2.Button1Click(Sender: TObject);
var ts,CreateSQL:TStrings;
i:integer;
isOnLine:Boolean;
begin
if not OpenDialog1.Execute then
Exit;
mmo1.Lines.Clear;
ts:=TStringList.Create;
ts.Text:=ExtractTextFromWordFile(OpenDialog1.FileName);
//mmo1.Lines.AddStrings(ts);
CreateSQL:=TStringList.Create;
isOnLine:=False;
for I := 0 to ts.Count-1 do
begin
if (Pos('SET ANSI_NULLS ON',UpperCase(ts[i]))>0) or
(Pos('CREATE',UpperCase(ts[i]))>0)
then begin
isOnLine:=True;
end;
if Trim(ts[i])='' then
begin
isOnLine:=false;
if CreateSQL.Text<>'' then
begin
mmo1.Lines.Append('--------');
mmo1.Lines.AddStrings(CreateSQL);
end;
CreateSQL.Clear;
end;
if isOnLine then
CreateSQL.Append(ts[i]);
end;
CreateSQL.Free;
ts.Free;
end;