各位高手:我的程序通过TExcelApplication创建了一个隐藏的EXCEL进程并打开了一个内部excel文件进行数据计算,并通过Visible[0]:=false来隐藏了它,因为我不像让用户看到这个秘密的excel文件。可是,在程序运行期间,如果用户再启动一个excel或者打开一个excel文件,则我隐藏的excel文件则被显示出来,数据彻底暴露。有什么办法可以解决这个问题吗?谢谢!

解决方案 »

  1.   

    隐藏你的worksheet或workbook,而不是隐藏Application
      

  2.   

    严重关注另外,问一下你的EXCEL文件是怎么隐藏的?通过更改扩展名?我更改扩展名居然双击就能打开,只好加密码,感觉不是很好,不知楼主采用的什么方法
      

  3.   

    感谢各位关注!to fjx99(fjx99):隐藏worksheet或workbook的思路我也想到了,可是,隐藏worksheet意义不大,我想隐藏整个程序正在操纵的那个excel文档而不是其中的某个sheet页面;而隐藏workbook,workbook似乎没有hide或者visible的方法,能否说一下如何隐藏整个workbook?非常感谢!to pig_pig2005(猪):我只是从资源里面释放出excel文件并给一个临时名字,然后程序暗地里打开,并没有使用什么特别手段。
      

  4.   

    EXCEL进程执行后,再开一个线程,找到EXCEL进程,对其操作。不知道能不能将其隐藏
      

  5.   

    to  tjianliang(乡关何处):通过单独的线程,有什么区别吗?似乎依旧不能解决问题啊。
      

  6.   

    这么多天还没解决啊
    只需:ActiveWorkbook.IsAddin = True 即可
      

  7.   

    刚才试了一下,作为装载宏后,虽然可以将数据写入worksheet的单元格,但是保存后无法读取,上面的做法不行