我打开了一个excel,然后在上面修改了几个cell的值,之后想保存一下,结果用saveas或直接quit都会弹出个提示框,问我要不要保存//保存当前处理记录的细项列表
procedure SaveItemRec(crec:Trec);
var
i,rownum:integer;
str:string;
wsheet,DestExcel:variant;
begin
try
DestExcel:=CreateOleObject('Excel.Application');
DestExcel.WorkBooks.Open(DestFileName);
WSheet := DestExcel.ActiveSheet;
rownum:= WSheet.UsedRange.Rows.count; //行数 for i:=2 to rownum do
begin
str:=DestExcel.ActiveSheet.cells[i,1];
if str=inttostr(crec.id) then
DestExcel.ActiveSheet.rows[i].delete;
end;
for i:=0 to cor_main.listbox1.items.Count-1 do
begin
DestExcel.ActiveSheet.Rows[2].Insert;
DestExcel.ActiveSheet.cells[2,1]:=crec.id;
DestExcel.ActiveSheet.cells[2,2]:=inttostr(i);
DestExcel.ActiveSheet.cells[2,3]:=crec.rq;
DestExcel.ActiveSheet.cells[2,4]:=crec.fang;
DestExcel.ActiveSheet.cells[2,5]:=crec.zy;
if crec.ifang=1 then
begin
DestExcel.ActiveSheet.cells[2,6]:=cor_main.listbox1.Items[i];
DestExcel.ActiveSheet.cells[2,7]:=crec.fee_dai;
end
else if crec.ifang=2 then
begin
DestExcel.ActiveSheet.cells[2,7]:=cor_main.listbox1.Items[i];
DestExcel.ActiveSheet.cells[2,6]:=crec.fee_dai;
end;
DestExcel.ActiveSheet.cells[2,8]:=crec.ye;
DestExcel.ActiveSheet.cells[2,9]:=crec.dwkj;
DestExcel.ActiveSheet.cells[2,10]:=crec.dfkm;
end;//..这里怎么保存到打开的excel?用下面的都会出来一个提示框,问要不要保存
// wsheet.saveas(DestFileName);
// DestExcel.ActiveWorkBook.Saved := False;
ExcelClose(DestExcel); except
ExcelClose(BackupExcel);
ExcelClose(DestExcel);
ShowMessage('无法保存到目标EXCEL文件!');
end;
end;
procedure SaveItemRec(crec:Trec);
var
i,rownum:integer;
str:string;
wsheet,DestExcel:variant;
begin
try
DestExcel:=CreateOleObject('Excel.Application');
DestExcel.WorkBooks.Open(DestFileName);
WSheet := DestExcel.ActiveSheet;
rownum:= WSheet.UsedRange.Rows.count; //行数 for i:=2 to rownum do
begin
str:=DestExcel.ActiveSheet.cells[i,1];
if str=inttostr(crec.id) then
DestExcel.ActiveSheet.rows[i].delete;
end;
for i:=0 to cor_main.listbox1.items.Count-1 do
begin
DestExcel.ActiveSheet.Rows[2].Insert;
DestExcel.ActiveSheet.cells[2,1]:=crec.id;
DestExcel.ActiveSheet.cells[2,2]:=inttostr(i);
DestExcel.ActiveSheet.cells[2,3]:=crec.rq;
DestExcel.ActiveSheet.cells[2,4]:=crec.fang;
DestExcel.ActiveSheet.cells[2,5]:=crec.zy;
if crec.ifang=1 then
begin
DestExcel.ActiveSheet.cells[2,6]:=cor_main.listbox1.Items[i];
DestExcel.ActiveSheet.cells[2,7]:=crec.fee_dai;
end
else if crec.ifang=2 then
begin
DestExcel.ActiveSheet.cells[2,7]:=cor_main.listbox1.Items[i];
DestExcel.ActiveSheet.cells[2,6]:=crec.fee_dai;
end;
DestExcel.ActiveSheet.cells[2,8]:=crec.ye;
DestExcel.ActiveSheet.cells[2,9]:=crec.dwkj;
DestExcel.ActiveSheet.cells[2,10]:=crec.dfkm;
end;//..这里怎么保存到打开的excel?用下面的都会出来一个提示框,问要不要保存
// wsheet.saveas(DestFileName);
// DestExcel.ActiveWorkBook.Saved := False;
ExcelClose(DestExcel); except
ExcelClose(BackupExcel);
ExcelClose(DestExcel);
ShowMessage('无法保存到目标EXCEL文件!');
end;
end;
解决方案 »
- if、函数、递归 老是报错!!!
- delphi ftp下载文件,如果ftp服务端文件不存在怎么判断?谢谢大家了。
- 实现两个TReeView数据交换,急!
- 请问一下如何让窗体一运行自动居中啊!
- 谁有手机短信的原码和程序,事成后马上给分。并另加分
- 请教有关把MonthCalendar中的日期通过选择自动同步到EDIT.TEXT或者COMBOBOX中
- 在w2k中如何屏了CTRL+ALT+DEL等键,还有其它WINDOWS自有的快捷键
- 为什么我的程序的版本号不能自动增加?
- 关于EnumWindowsr的问题
- 50分的题:怎样防止webbrowser访问www.sina.com.cn时候自动消失。
- 请问一个简单的打印问题
- 嘿嘿,一个有点菜的问题!
用其他的报 "是否保存对...的修改"
能不能让它保存到原文件而不弹出对话框???
WorkBook.Saved := true;
我也遇到这个问题了。请教你了