+ -
当前位置:首页 → 问答吧 → 怎么读取directorylistbox、drivecombobox、filelistbox里的一个文件

怎么读取directorylistbox、drivecombobox、filelistbox里的一个文件

时间:2011-12-10

来源:互联网

我添加了directorylistbox、drivecombobox、filelistbox,三个控件关联的代码如下:
procedure TForm1.DriveComboBox1Change(Sender: TObject);
begin
directorylistbox1.Drive :=drivecombobox1.Drive ;
edit1.Text :=drivecombobox1.Drive+':\' ;
end;

procedure TForm1.FileListBox1Change(Sender: TObject);
begin
edit1.Text :=filelistbox1.FileName ;
end;

procedure TForm1.DirectoryListBox1Change(Sender: TObject);
begin
filelistbox1.Directory :=directorylistbox1.Directory ;
edit1.Text :=directorylistbox1.Directory +filelistbox1.FileName ;
end;

procedure TForm1.DirectoryListBox1Click(Sender: TObject);
begin
 edit1.Text :=directorylistbox1.Directory ;
end;


能够正常运行,现在我想读取一个选中的excel文件比如aaa.xls(这里我选择了d盘下面的aaa.xls)第二行第一列的数!代码该怎么写呢?
这是一个button下面的事件,
procedure TForm1.Button1Click(Sender: TObject);
var
i,j,s:integer;
begin
excelapp:=createoleobject('excel.application');
excelapp.workbooks.add; //加一个新的工作簿
excelapp.workbooks.open('edit1.Text'); //打开一个已经存在的工作簿
excelapp.worksheets[1].activate; //设置第1个工作表为活动工作表

 edit2.Text:=inttostr(excelapp.cells[2,1].value);

end;


这样貌似不行,不能运行!!不知道 该怎么改下,谢谢了各位 ,

作者: trytry401   发布时间: 2011-12-10

打开已存的excel
不用创建工作簿,直接打开就是了

excelapp:=createoleobject('excel.application');
excelapp.visible:=false;
excelapp.workbooks.open('D:\1.xls');
edit1.Text:=excelapp.cells[2,1].value;
excelapp.quit;

作者: kaikai_kk   发布时间: 2011-12-10

引用 
uses ComObj;

var excelapp:variant;

如果数据不在第1个工作簿,就设置activate

作者: kaikai_kk   发布时间: 2011-12-10

现在关键问题 在于怎么读取我选择的文件
引用 2 楼 kaikai_kk 的回复:

引用
uses ComObj;

var excelapp:variant;

如果数据不在第1个工作簿,就设置activate

作者: trytry401   发布时间: 2011-12-10

用一个OpenDialog就好了

if OpenDialog1.Execute then
  .open(OpenDialog1.FileName);

OpenDialog1.FileName就是所选的文件了

作者: kaikai_kk   发布时间: 2011-12-11

热门下载

更多