在DELPHI中如何判断某一EXCEL文件是否处于打开状态,如打开先关闭然后打开,如未打开直接打开,写出代码。
1个回答
展开全部
function E9FileStatus(Const Origin: string): boolean;
var
F: TFileStream;
begin
try
try
F := TFileStream.Create(Origin, fmOpenReadWrite OR fmShareExclusive);
Result := true;
finally
F.Free;
end;
except
Result := false;
end;
end;
------------------
fmCreate 根据所给名字创建文件。如果所给名字的文件存在,以写状态打开文件。
fmOpenRead 以只读状态打开文件
fmOpenWrite 以只写状态打开文件。文件全部重写,替代已有内容。
fmOpenReadWrite 打开文件,修改而不是替换文件内容。
共享(share)状态必须是以下值之一:
值 意义
fmShareCompat 共享与文件控制块(FCB)的打开方式兼容。
fmShareExclusive 其他程序不能以任何理由打开文件。
fmShareDenyWrite 其他程序能以只读方式打开文件,但不能写。
fmShareDenyRead 其他程序能以只写方式打开文件,但不能读。
fmShareDenyNone 不禁止其他程序读或写文件。
如果文件不能被打开, Create 将产生异常。
如果文件未被锁定,将返回true
var
F: TFileStream;
begin
try
try
F := TFileStream.Create(Origin, fmOpenReadWrite OR fmShareExclusive);
Result := true;
finally
F.Free;
end;
except
Result := false;
end;
end;
------------------
fmCreate 根据所给名字创建文件。如果所给名字的文件存在,以写状态打开文件。
fmOpenRead 以只读状态打开文件
fmOpenWrite 以只写状态打开文件。文件全部重写,替代已有内容。
fmOpenReadWrite 打开文件,修改而不是替换文件内容。
共享(share)状态必须是以下值之一:
值 意义
fmShareCompat 共享与文件控制块(FCB)的打开方式兼容。
fmShareExclusive 其他程序不能以任何理由打开文件。
fmShareDenyWrite 其他程序能以只读方式打开文件,但不能写。
fmShareDenyRead 其他程序能以只写方式打开文件,但不能读。
fmShareDenyNone 不禁止其他程序读或写文件。
如果文件不能被打开, Create 将产生异常。
如果文件未被锁定,将返回true
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询