程序如下
按照程序打开了己存的EXECL文件,我想让用户修改后保存。前面都 对了,用户修改完自己在EXECL中选另存为也对,就是在关闭EXECL时保存时出错,高手看看
procedure Tfrm_rslr.DBGrid1CellClick(Column: TColumn);
var MSExcel :variant ;
begin
SaveDialog1.Filter:='*.xls|*.xls';
SaveDialog1.DefaultExt:='xls';
if (dbgrid1.Fields[1].AsString='pcm') or (dbgrid1.Fields[6].AsString='阿克苏') then
begin
if application.MessageBox('你确认要启动excel界面吗?','请你回答',mb_yesno+mb_defbutton2)<> idno then
begin
MSExcel := CreateOleObject( 'Excel.Application' );
MSExcel.Visible := True;
MSExcel.Caption := '阿克苏通讯管理系统正在调用 Microsoft Excel';
MSExcel.WorkBooks.Open(ExtractFilePath(Application.ExeName )+'mess\SDH光通讯配线表\阿克苏城网配线表.xls');
end
else
try
excelapplication1.Connect;
except
messagedlg('excel 可能未安装!',mterror,[mbok],0);
abort;
end;
if savedialog1.Execute then
begin
MSExcel.ActiveWorkBook.SaveAs(SaveDialog1.FileName);
MSExcel.ActiveWorkBook.Saved:=True;
MSExcel.Quit;
end
else
ShowMessage('保存失败,错误警报');
end;
end;end.
按照程序打开了己存的EXECL文件,我想让用户修改后保存。前面都 对了,用户修改完自己在EXECL中选另存为也对,就是在关闭EXECL时保存时出错,高手看看
procedure Tfrm_rslr.DBGrid1CellClick(Column: TColumn);
var MSExcel :variant ;
begin
SaveDialog1.Filter:='*.xls|*.xls';
SaveDialog1.DefaultExt:='xls';
if (dbgrid1.Fields[1].AsString='pcm') or (dbgrid1.Fields[6].AsString='阿克苏') then
begin
if application.MessageBox('你确认要启动excel界面吗?','请你回答',mb_yesno+mb_defbutton2)<> idno then
begin
MSExcel := CreateOleObject( 'Excel.Application' );
MSExcel.Visible := True;
MSExcel.Caption := '阿克苏通讯管理系统正在调用 Microsoft Excel';
MSExcel.WorkBooks.Open(ExtractFilePath(Application.ExeName )+'mess\SDH光通讯配线表\阿克苏城网配线表.xls');
end
else
try
excelapplication1.Connect;
except
messagedlg('excel 可能未安装!',mterror,[mbok],0);
abort;
end;
if savedialog1.Execute then
begin
MSExcel.ActiveWorkBook.SaveAs(SaveDialog1.FileName);
MSExcel.ActiveWorkBook.Saved:=True;
MSExcel.Quit;
end
else
ShowMessage('保存失败,错误警报');
end;
end;end.
ExcelApplication1.WorkBooks.Close;26) 退出 Excel:
ExcelApplication1.Quit;
ExcelApplication1.Disconnect;MSExcel := unsigned;
var MSExcel,WorkBook :variant ; begin
if (dbgrid1.Fields[1].AsString='PCM') and (dbgrid1.Fields[6].AsString='阿克苏') then
begin
if application.MessageBox('你要启动excel界面吗?','请你确认',mb_yesno+mb_defbutton2)<>
idno then
begin
MSExcel := CreateOleObject( 'Excel.Application' );
WorkBook :=CreateOleObject('Excel.Sheet');
MSExcel.Visible := True;
MSExcel.Caption := '阿克苏通讯管理系统正在调用 Microsoft Excel';
MSExcel.WorkBooks.Open(ExtractFilePath(Application.ExeName )+'mess\SDH光通讯配线表\阿克苏城网配线表.xls');
end
else
exit;
try
excelapplication1.Connect;
except
messagedlg('Microsoft Excel 可能未安装!',mterror,[mbok],0);
abort;
end;
excelapplication1.Caption := '阿克苏电力通讯系统正在调用Microsoft Excel';
begin
if savedialog1.Execute then
begin
try
ExcelWorksheet1.SaveAs(savedialog1.FileName);
application.MessageBox('保存成功','恭喜',mb_ok);
except
application.MessageBox('保存失败','错误警报',mb_ok);
end;
end;
// excelapplication1.Disconnect;
// excelapplication1.Quit;
end;
end; end; end.