Y
ychb
Unregistered / Unconfirmed
GUEST, unregistred user!
问题:
启动程序,然后打开18个Excel文件,将他们导入到后台数据库中,当我第二次打开上次打开的
Excel文件时,系统提示:文件无法打开,微软安装程序错误!我关闭错误提示,按F9键会出现
内存地址只读,还有一个“可以打开文件提示在错误的后面”!
提示的错误代码是:xworkbook := ExcelApp.Workbooks.open(fullpath + filename +'.xls');
我猜想是创建的对象没有真正被关闭,但是这种直接创建的不支持Disconnect等操作呀,请各位大虾帮忙!
。
。
。
public
{ Public declarations }
。
。
。
ExcelApp:variant;
。
。
。
procedure TForm2.FormCreate(Sender: TObject);
begin
try
ExcelApp:=CreateOleObject('Excel.Application');
ExcelApp.Visible:=false;
except
application.MessageBox('您的机器里未安装Microsoft Excel','系统提示', MB_OK+MB_ICONWARNING );
close;
end;
end;
上面进行初始化
错误代码在下面块中:
Function TForm2.CheckFile(Filename:string;Fullpath:string):boolean;
var
//xlsublevariant;
//xworkbooklevariant;
xlsub:variant;
xworkbook:variant;
begin
try
xworkbook := ExcelApp.Workbooks.open(fullpath + filename +'.xls');
except
begin
ShowMessage('文件打开失败');
xworkbook := Unassigned;
result := false;
exit;
end;
end;
xlsub := ExcelApp.Application.ActiveWorkbook.Worksheets[1];
FirstSheet := xlsub.name + '$';
try
case FileType of
1:
begin
result := true;
end;
。
。
。
end;
finally
xworkBook.Saved := True;
xworkbook.close;
Xworkbook:=Unassigned;
xlsub := Unassigned;
end;
end;
启动程序,然后打开18个Excel文件,将他们导入到后台数据库中,当我第二次打开上次打开的
Excel文件时,系统提示:文件无法打开,微软安装程序错误!我关闭错误提示,按F9键会出现
内存地址只读,还有一个“可以打开文件提示在错误的后面”!
提示的错误代码是:xworkbook := ExcelApp.Workbooks.open(fullpath + filename +'.xls');
我猜想是创建的对象没有真正被关闭,但是这种直接创建的不支持Disconnect等操作呀,请各位大虾帮忙!
。
。
。
public
{ Public declarations }
。
。
。
ExcelApp:variant;
。
。
。
procedure TForm2.FormCreate(Sender: TObject);
begin
try
ExcelApp:=CreateOleObject('Excel.Application');
ExcelApp.Visible:=false;
except
application.MessageBox('您的机器里未安装Microsoft Excel','系统提示', MB_OK+MB_ICONWARNING );
close;
end;
end;
上面进行初始化
错误代码在下面块中:
Function TForm2.CheckFile(Filename:string;Fullpath:string):boolean;
var
//xlsublevariant;
//xworkbooklevariant;
xlsub:variant;
xworkbook:variant;
begin
try
xworkbook := ExcelApp.Workbooks.open(fullpath + filename +'.xls');
except
begin
ShowMessage('文件打开失败');
xworkbook := Unassigned;
result := false;
exit;
end;
end;
xlsub := ExcelApp.Application.ActiveWorkbook.Worksheets[1];
FirstSheet := xlsub.name + '$';
try
case FileType of
1:
begin
result := true;
end;
。
。
。
end;
finally
xworkBook.Saved := True;
xworkbook.close;
Xworkbook:=Unassigned;
xlsub := Unassigned;
end;
end;