procedure
TForm1
.
Button1Click(Sender: TObject);
var
exApp, exBook, exSheet, exRng, exCell : Variant;
Od : TOpenDialog;
findT,FText:
string
;
x,y:
string
;
begin
findT:= form1
.
Edit1
.
Text;
Od := OpenDialog1;
if
not
Od
.
Execute
then
Exit;
try
exApp := CreateOleObject(
'Excel.Application'
);
exApp
.
Visible :=
False
;
exBook := exApp
.
WorkBooks
.
Open(FileName:=Od
.
FileName);
exSheet := exBook
.
WorkSheets[
1
];
exRng := exSheet
.
UsedRange;
exCell := Unassigned;
exCell := exRng
.
Find(What:=findT);
if
TVarData(exCell).VDispatch =
nil
then
ShowMessage(
'No match is found.'
)
else
begin
ShowMessage(
'Match is found: Cell['
+ IntToStr(exCell
.
Row) +
';'
+ IntToStr(exCell
.
Column) +
']'
);
x:=IntToStr(exCell
.
Row);
y:=IntToStr(exCell
.
Column);
FText:= exRng
.
Range[
'A'
+ x];
FText:=FText +
' '
;
findT:= exRng
.
Range[
'B'
+ x];
FText:= FText+findT;
FText:=FText +
' '
;
findT:= exRng
.
Range[
'C'
+ x];
FText:= FText+findT;
FText:=FText +
' '
;
findT:= exRng
.
Range[
'D'
+ x];
FText:= FText+findT;
FText:=FText +
' '
;
findT:= exRng
.
Range[
'E'
+ x];
FText:= FText+findT;
FText:=FText +
' '
;
findT:= exRng
.
Range[
'F'
+ x];
FText:= FText+findT;
FText:=FText +
' '
;
findT:= exRng
.
Range[
'G'
+ x];
FText:= FText+findT;
form1
.
Label1
.
Caption:= FText;
end
;
exApp
.
Quit;
finally
exApp := Unassigned;
exBook := Unassigned;
exSheet := Unassigned;
exRng := Unassigned;
exCell := Unassigned;
end
;
end
;
procedure
TForm1
.
Button2Click(Sender: TObject);
begin
Close;
end
;