请问使用ComObj时如何动态指定Execl文件中的某个Sheet?

SunusCN 2007-07-04 06:18:08
请问使用ComObj时如何动态指定Execl文件中的某个Sheet?
假设一个Excel文件中有如下几个Sheet:aaaa,bb123,kkkk,abkks,只知道它们的名字而不知道它们的顺序(即不能用WorksSheets[1],WorksSheets[2]之类的方法),我的要求是由用户指定一个Sheet,显示它的第一行第一列的内容。
例如:
…………
sX := Edit1.Text; //这里由用户手工输入"aaaa"
ShowMessage(ExcelApp.WorksSheets[sX].Cells[1,1].Value);
........
这段代码会出错:"Method 'WorksSheets' not Supported by automation object"
但如果直接指定Sheet:
…………
ShowMessage(ExcelApp.WorksSheets['aaaa'].Cells[1,1].Value);
........
就能正常运行
请高手指点一下,这段应该怎么写?
...全文
191 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
SunusCN 2007-07-06
  • 打赏
  • 举报
回复
算了,结了吧,用别的方法绕过去了。
SunusCN 2007-07-05
  • 打赏
  • 举报
回复
这样不行呀,还是老问题“Method 'WorksSheets' not Supported by automation object”,好象WorkSheets[]中不能用变量,请问怎么办?
yuehaiyang 2007-07-04
  • 打赏
  • 举报
回复
for i := 1 to 5 do
if ExcelApp.WorkBooks[1].WorkSheets[i].Name = '123' then

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧