现做一个小程序:从数据库中取数据,以DBGrid的形式显示,数据很多,分很多屏显示,每一屏都是DbGrid外加一标签为"Excel"的按钮,按钮的作用在于:将DBGrid的数据写入Excel,且保存,所有屏的数据都存在同一个Workbook里的同一个sheet里,每屏之间数据用两个空行分开。
我用TExcelApplication && TExcelWorkBook && TExcelSheet控件来完成。问题是:保存完第一屏数据后,要保存完第二屏数据,这时将已保存的文件打开,出现“命令不能作用于共享文件,请用”排他“方式打开文件!”的错误提示。(提示是日文的,这是我翻译过来的)。而且这个提示只出现在程序中用到了“merge()"函数的地方,去掉所有的merge()就没事了,可是,我必须用merge().这该怎么办。特请教各位大侠!
我用的保存Excel文件的函数是:if not fileexists(filename) then
ExcelWorkbook1.SaveAs(filename {FileName},
Null {FileFormat},
Null {Password},
Null {WriteResPasswrd},
Null {ReadOnlyRecommended},
Null {CreateBackup},
xlReadWrite {AccessMode},
Null {ConflicResolution},
Null {AddToMru},
Null {TextCodepage},
Null {TextVisualLayout},
0);用的打开Excel文件的函数是:
filename:='d:\test.xls';
if(fileexists(filename)) then
ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks.Open(
filename,
EmptyParam,{UpdateLinks}
EmptyParam,{ReadOnly}
EmptyParam,{Format}
EmptyParam,{PassWord}
EmptyParam,{WritePassWord}
EmptyParam,{IgnoreReadOnlyRecommended}
EmptyParam,{Origin}
EmptyParam,{Delimiter}
EmptyParam,{Editable}
EmptyParam,{Notify}
EmptyParam,{Converter}
EmptyParam,{AddToMru}
LCID)); {Lcid}
...
请问各位高手:改哪个参数才是以"排他”方式打开,merge()函数跟“排他”关系?
谢谢各位了!!
我用TExcelApplication && TExcelWorkBook && TExcelSheet控件来完成。问题是:保存完第一屏数据后,要保存完第二屏数据,这时将已保存的文件打开,出现“命令不能作用于共享文件,请用”排他“方式打开文件!”的错误提示。(提示是日文的,这是我翻译过来的)。而且这个提示只出现在程序中用到了“merge()"函数的地方,去掉所有的merge()就没事了,可是,我必须用merge().这该怎么办。特请教各位大侠!
我用的保存Excel文件的函数是:if not fileexists(filename) then
ExcelWorkbook1.SaveAs(filename {FileName},
Null {FileFormat},
Null {Password},
Null {WriteResPasswrd},
Null {ReadOnlyRecommended},
Null {CreateBackup},
xlReadWrite {AccessMode},
Null {ConflicResolution},
Null {AddToMru},
Null {TextCodepage},
Null {TextVisualLayout},
0);用的打开Excel文件的函数是:
filename:='d:\test.xls';
if(fileexists(filename)) then
ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks.Open(
filename,
EmptyParam,{UpdateLinks}
EmptyParam,{ReadOnly}
EmptyParam,{Format}
EmptyParam,{PassWord}
EmptyParam,{WritePassWord}
EmptyParam,{IgnoreReadOnlyRecommended}
EmptyParam,{Origin}
EmptyParam,{Delimiter}
EmptyParam,{Editable}
EmptyParam,{Notify}
EmptyParam,{Converter}
EmptyParam,{AddToMru}
LCID)); {Lcid}
...
请问各位高手:改哪个参数才是以"排他”方式打开,merge()函数跟“排他”关系?
谢谢各位了!!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货