关于用ole操作Excel表格遇到的一些有关问题

关于用ole操作Excel表格遇到的一些问题
最近两天我使用ole技术操作Excel文件,根据网上大家分享的一些资料,完成了一些基本的功能,但是也遇到了一些新的问题,在查询无果的情况下,我整了一下,发帖求助各位。问题如下:
1:当打开原有的Excel文件后,如何在插入一个sheet
2:如何自动保存Excel表格,一般的情况下保存会有提示框询问是否保存,但是我希望的是,每个一段时间自动保存      ,并且不弹出提示框,或者说有提示框,但是再设置下,自动选着保存。
3:关于文件格式的问题,能不能通过设置,可以打开不同版本的Excel文件,或者保存成人一个是的Excel文件
4:对于同一个功能有两种形式处理
   1)   Variant      OleFunction(函数名,参数……);   
   2)   void           OleProcedure(过程名,参数…); 
   例如对于保存问题,妖哥用的是GV_Excel_WorkBooks.OleFunction("Save");
                  也有其他作者用的是GV_Excel_WorkBooks.OleProcedure("Close");  
   不太明白两种操作的差异在哪里
5:当操作完成后,我打开Excel文件,提示我该文件正在使用,这种情况是怎么导致的,应该怎么处理
  (备注:程序操作上我已经执行了下列操作
    //关闭工作簿
    GV_Excel_WorkBooks.OleProcedure("Close");
    //关闭应用对象
    GV_Excel_App.OleFunction("Quit");
   )
问题有点多,还请希望的大神可以解答一下,谢谢!




------解决方案--------------------
1. 添加一个工作表
vExcelApp.OlePropertyGet("Workbooks").OleFunction("Add", 1); // 工作表

2. 屏蔽弹出的警告框
vExcelApp.OlePropertySet("DisplayAlerts", false);
然后,定时调用SaveAs方法。

3. 保存时多加一个参数,指定文件格式即可,如:
vExcelApp.OlePropertyGet("ActiveWorkbook").OleFunction("SaveAs",
WideString(lpXlsFile),
-4143, // FileFormat:=xlExcel8,
WideString(""), // Password:="",
WideString(""), // WriteResPassword:="", _
false, // ReadOnlyRecommended:=False,
false // CreateBackup:=False
);


4. OleFunction 是函数,OleProcedure是过程,在C++里面没有过程这个概念,可以将过程理解为返回值为void的函数就行了,实际应用中,可以用OleFunction来代替OleProcedure,但是不可以反过来用。

5. 有时其他的实例打开了相同的文档,或者上一次的OLE操作没有成功结束,虽然界面消失,但是Excel进程仍然存在,那么再打开这个文档,就会提示文件被占用。
------解决方案--------------------

最全的OLE操作Excel的完整代码
http://wenku.baidu.com/view/7e751024a5e9856a56126048.html