C chunerd Unregistered / Unconfirmed GUEST, unregistred user! 2003-09-15 #1 用OLEcontainer创建了excel以后,也加载了excel文件,如何能够不关闭OLEContainer就能释放excel文件?因为我不能释放这个excel导致我在次加载excel的时候,系统报错,而且反复记载多次不同的excell的时候,还要报合并单元格的错误,请教各位神仙,我已经没有血了!!!
用OLEcontainer创建了excel以后,也加载了excel文件,如何能够不关闭OLEContainer就能释放excel文件?因为我不能释放这个excel导致我在次加载excel的时候,系统报错,而且反复记载多次不同的excell的时候,还要报合并单元格的错误,请教各位神仙,我已经没有血了!!!
P pihome Unregistered / Unconfirmed GUEST, unregistred user! 2003-09-15 #2 OleContainer.DestroyObject;
C chunerd Unregistered / Unconfirmed GUEST, unregistred user! 2003-09-15 #3 如果使用OleContainer.DestroyObject;那么第二次如何加载excel文件呢?
P pihome Unregistered / Unconfirmed GUEST, unregistred user! 2003-09-15 #4 OleContainer.CreateObjectFromFile('Excel文件',False);
C chunerd Unregistered / Unconfirmed GUEST, unregistred user! 2003-09-15 #6 老兄,真的不行也, OleContainer1.DestroyObject; OleContainer1.CreateObjectFromFile(GetCurrentDir+'/TongJi_excel/book1.xls',false); 这样会报错
老兄,真的不行也, OleContainer1.DestroyObject; OleContainer1.CreateObjectFromFile(GetCurrentDir+'/TongJi_excel/book1.xls',false); 这样会报错
C chunerd Unregistered / Unconfirmed GUEST, unregistred user! 2003-09-15 #9 我用的是delphi5,是不是版本的问题? 报错是Project P_XJDL.exe raised exception class EOleSysError with message 'OLE error 80030002' .Process stopped,Use Step or Run to Continue.
我用的是delphi5,是不是版本的问题? 报错是Project P_XJDL.exe raised exception class EOleSysError with message 'OLE error 80030002' .Process stopped,Use Step or Run to Continue.
P pihome Unregistered / Unconfirmed GUEST, unregistred user! 2003-09-15 #10 我用的是D7,但我换D5结果也是正常,下面是我测试的代码 procedure TForm1.FormCreate(Sender: TObject); begin OleContainer1.CreateObjectFromFile('c:/123.xls',False); OleContainer1.DoVerb(-1); end; procedure TForm1.Button1Click(Sender: TObject); begin OleContainer1.DestroyObject; OleContainer1.CreateObjectFromFile('c:/456.xls',False); OleContainer1.DoVerb(-1); end;
我用的是D7,但我换D5结果也是正常,下面是我测试的代码 procedure TForm1.FormCreate(Sender: TObject); begin OleContainer1.CreateObjectFromFile('c:/123.xls',False); OleContainer1.DoVerb(-1); end; procedure TForm1.Button1Click(Sender: TObject); begin OleContainer1.DestroyObject; OleContainer1.CreateObjectFromFile('c:/456.xls',False); OleContainer1.DoVerb(-1); end;
P pihome Unregistered / Unconfirmed GUEST, unregistred user! 2003-09-15 #11 试过结果了,我换成一个不存在的文件则报80030002错误,检查你的路径是否有误?
C chunerd Unregistered / Unconfirmed GUEST, unregistred user! 2003-09-15 #12 我的文件没有问题 是不是我的下面这个对象没有释放? v:=OleContainer1.OleObject ; ... V.WorkSheets[1].Range['A'+inttostr(i)].Value := '合计:'; //C,D,E v.WorkSheets[1].Range['C'+inttostr(i)].FormulaR1C1 := '=SUM(R[-6]c:R[-1]c)'; v.WorkSheets[1].Range['D'+inttostr(i)].FormulaR1C1 := '=SUM(R[-6]c:R[-1]c)'; v.WorkSheets[1].Range['E'+inttostr(i)].FormulaR1C1 := '=SUM(R[-6]c:R[-1]c)'; ...
我的文件没有问题 是不是我的下面这个对象没有释放? v:=OleContainer1.OleObject ; ... V.WorkSheets[1].Range['A'+inttostr(i)].Value := '合计:'; //C,D,E v.WorkSheets[1].Range['C'+inttostr(i)].FormulaR1C1 := '=SUM(R[-6]c:R[-1]c)'; v.WorkSheets[1].Range['D'+inttostr(i)].FormulaR1C1 := '=SUM(R[-6]c:R[-1]c)'; v.WorkSheets[1].Range['E'+inttostr(i)].FormulaR1C1 := '=SUM(R[-6]c:R[-1]c)'; ...
P pihome Unregistered / Unconfirmed GUEST, unregistred user! 2003-09-16 #13 这个应该没关系,你只是引用了OleContainer.OleObject,没必要也不能释放,实际上还是要用DestroyObject才会释放
C chunerd Unregistered / Unconfirmed GUEST, unregistred user! 2003-09-17 #14 pihome非常感谢你,因为我使用了全局变量(faint),在改变了目录后目录出现错误,结果报错。昨天一天都在外边,今天也跑了大半天,现在才安静的坐下来。再次感谢你的帮助!