我要用ole容器在vb对话框内显示并编辑已存在的excel文件,因为不能出现excel界面  
所以不能用OLE1.CreateLink  (file_name)的方法。  
又不能在设计时预先指定文件的路径,如事先设定SourceDoc  
我想在运行时使用下列方法,但不能实现。  
'OLE1.SourceDoc  =  file_name  
'OLE1.SourceItem  =  file_name  
'OLE1.InsertObjDlg  (file_name)  
'OLE1.Update  
'OLE1.DoVerb  
以上50 分
 
还有一点,在ole中阅览编辑后,如何将ole中的内容(包括图片)保存回原先的excel文件中?50分请高手指点,给出简单有效的代码  ,如有效一定兑现

解决方案 »

  1.   

    OLE1.CreateEmbed "f:\cdktest.xls"用这一个可以插入下个嵌入对象,编辑可以不用打开excel,但是可以找开excel,至于第二个问题正在测试
      

  2.   

    Private Sub Command6_Click()
        OLE1.CreateEmbed "c:\book3.xls"      '打开文件
    End SubPrivate Sub Command7_Click()
        Dim fn As Integer
        OLE1.DataChanged = True
        Kill "c:\book3.xls"     ->>后面直接用save没反应,所以用saveas 
        OLE1.object.SaveAs "c:\book3.xls" 
    End Sub有个右键弹出的菜单可以找开excel,这个问题直能对excel的模型对象控制一下了
      

  3.   

    to  cdknet(VB版主) :
    第一个问题可以了,第二问,能否只将ole控件中的内容保存到c:\book3.xls
    某sheet中而不是另存新文件,获将原文件全部覆盖
    就说只提取了ole中的内容先给 60分
    改完下句后,给满分。 哈哈
    OLE1.object.SaveAs "c:\book3.xls"请给个答复,之后我好结贴给分。
    另外我还有问题,请继续帮忙
      

  4.   

    to    cdknet(VB版主)  : 
    不好意思,好像有点问题
    OLE1.CreateEmbed    "c:\book3.xls  "            '打开文件  
    显示后必须双击ole才能编辑,而且一旦运行该语句,后面的程序无效
    能否不用双击,直接能编辑另外,在ole中编辑的数据好像并没有保存住,请再帮忙看一下
    Private  Sub  Command7_Click()  
           Dim  fn  As  Integer  
           OLE1.DataChanged  =  True  
           Kill    "c:\book3.xls  "          -  >  >后面直接用save没反应,所以用saveas    
           OLE1.object.SaveAs    "c:\book3.xls  "    
    End  Sub