如何在PB中判断EXCEL的表格是否关闭?

buptchenbin 2002-11-19 04:45:32
在PB中用OLEOBJECT打开了一个已经存在的EXCEL表
OLEOBJECT OO,BOOK,SHEET
oo= create oleobject
ret=oo.connecttonewobject("excel.application")
oo.workbooks.open("d:\test.xls")
book=oo.workbooks[1]
sheet=book.worksheets[1]
oo.visible=true
如果EXCEL的服务器没关但是表TEST.XLS用手工关了
book.close
会出错程序自动跳出
在程序中怎么判断TEST.XLS是否关了啊?
...全文
107 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuebuctxy 2002-11-25
  • 打赏
  • 举报
回复
呵呵,楼主,又见面了
oleobject myexcel
myexcel=create oleobject
li_rtn=myexcel.connecttonewobject("excel.application")
myexcel.application.visible=true
myexcel.application.workbooks.open("d:\1.xls")
if li_rtn<>0 then
messagebox("错误","不能启动excel!")
return -1
end if

//检测
if not isvalid(myexcel) then
messagebox("","excel closed")
end if
//如果窗口没关闭好象不行,试试这样
呵呵,楼主,又见面了
oleobject myexcel
myexcel=create oleobject
li_rtn=myexcel.connecttonewobject("excel.application")
myexcel.application.visible=true
myexcel.application.workbooks.open("d:\1.xls")
if li_rtn<>0 then
messagebox("错误","不能启动excel!")
return -1
end if

//检测
if not isvalid(myexcel.application.activesheet) then
messagebox("","excel closed")
end if
hwee 2002-11-25
  • 打赏
  • 举报
回复
用API找Excel.EXE这个进程是否关闭了。
buptchenbin 2002-11-19
  • 打赏
  • 举报
回复
我的窗口没关啊
minilin_11 2002-11-19
  • 打赏
  • 举报
回复
你可以用API函数FINDWINDOW来获得你打开的EXCEL窗口句柄,如果窗口关了,句柄也会失去,这样在BOOK.CLOSE时用API函数ISWINDOW判断句柄是否还存在,这样试试看吧:-)

401

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 非技术版
社区管理员
  • 非技术版社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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