以下是引用wengjl在2012-4-17 07:22:57的发言:
当copy to xxx.xls时,因为文件XXX.xls被打开着,导致程序出错,出错提示为:
程序中要如何避免?或者说,当copy to xxx.xls时,如何先探测xxx.xls是否被打开着?
请大侠们赐教。谢谢啦!
如何判断EXCEL或某个XLS文件是否已经打开(避免不可预知的错误发生)程序代码:
LOCAL lOldSetOpt,mChanNum
lOldSetOpt = DDESetOption("SAFETY")
= DDESetOption("SAFETY",.F.)
**mChanNum = DDEInitiate('Excel','SYSTEM') &&EXCEL是否已经打开
mChanNum = DDEInitiate('Excel','&lcFileName') &&lcFileName某XLS文件名,如:D:\123.XLS
IF mChanNum <> -1
**= messagebox('程序 EXCEL 已经打开,请先将其关闭!',64,'系统提示!')
= messagebox('文件 '+lcFileName+' 已经打开,请先将其关闭!',64,'系统提示!')
= DDETerminate(mChanNum)
= DDESetOption("SAFETY",lOldSetOpt)
RETURN
ELSE
copy to xxx.xls
ENDIF
[
本帖最后由 sdta 于 2012-4-17 09:30 编辑 ]