delphi占用excel导致不能从windows打开excel

全局变量:varMsExcel:Variant;...procedureTForm1.Button1Click(Sender:TObject);vari:integer;... 全局变量:
var
MsExcel: Variant;

...
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
OpenDialog1: TOpenDialog;
result:boolean;
begin
OpenDialog1:=TOpenDialog.Create(nil);

try
OpenDialog1.FileName:='*.csv;*.xls';
if not OpenDialog1.Execute then
begin
Result := false;
exit;
end;
MsExcel := CreateOleObject('Excel.Application');
except
Result := false;
end;
.......

procedure TForm1.Button2Click(Sender: TObject);
......
MsExcel.Workbooks.Close;

MsExcel.Quit;
MsExcel:=unassigned;
//VarClear(MsExcel);
......
点了Button2以后在windows中打不开之前已经打开的excel,必须关闭delphi的程序,或者open另外一个文件才可以打开?请问这是怎么回事?后面这几个命令应该是已经释放了的呀
展开
 我来答
匿名用户
2015-08-24
展开全部
打开excel 后 文件是被打开的程序占用的而且是独占 所以必须关闭才可以
你也可以弄成非独占的(应该可以)
要不然你就每次打开后读取完东西以后就关闭 这样就不会发生这样的问题了
追问
非独占?怎么做?我button2点了以后就是关闭的动作了,但是还是在占用,我也试过放在同一个BUTTON里面也是一样,我也想读完就关闭,问题是我已经按照网上资料说的来关闭了,实际上还是不行。
追答
代码
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式