这个问题好象有点难度,关于delphi操纵Excel.(52分)

  • 主题发起人 主题发起人 HHSH
  • 开始时间 开始时间
H

HHSH

Unregistered / Unconfirmed
GUEST, unregistred user!
用delphi操作Excel时怎样实现查找功能?
注意,是在Excel中,就象Locate方法一样,找到某字符串后,得到其单元格的行列值。
 
Sub Macro1()
Cells.Find(What:="YKing", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, MatchByte:=False, SearchFormat:=False).Activate
End Sub
上面是在Excel当中查找YKing这个字符串的宏,如果找到的话,这个Cell就是ActiveCell了
至于怎么知道ActiveCell的行和列我也不知道!
 
確實有難度
 
看一下我的试验结果,应该可以实现你要的功能..

procedure TForm1.Button1Click(Sender: TObject);
var
ExcelApp: OleVariant;
ExcelBook: OleVariant;
ExcelSheet: OleVariant;
FindResult: OleVariant;
i,j: integer;
begin
ExcelApp := CreateOleObject('Excel.Application');
ExcelApp.Visible := True;
ExcelBook := ExcelApp.WorkBooks.Add;
ExcelSheet := ExcelBook.WorkSheets[1];
ExcelSheet.Cells[1,1].Value := 'aaa';
ExcelSheet.Cells[1,2].Value := 'bbb';
ExcelSheet.Cells[1,3].Value := 'ccc';
FindResult := ExcelSheet.Cells.Find('aaa');
if VarIsEmpty(FindResult) then
ShowMessage('Not Found!')
else
begin
i := FindResult.Row;
j := FindResult.Column;
ShowMessage(Format('Row: %d, Column: %d',[i, j]));
end;
end;
 
to ai2ming:你的回答非常好!谢谢。

结帐。
 
后退
顶部