关于IE与OLE: 又是300分的问题,有点难度哦.(300分)

  • 主题发起人 主题发起人 doxpix
  • 开始时间 开始时间
D

doxpix

Unregistered / Unconfirmed
GUEST, unregistred user!
现象描述:
首先打开一个Excel窗口,新建一个Excel文件(无须保存),然后启动IE,
在地址栏上输入一个本地的Excel文件路径,回车(如果什么也看不见或者
报错的话再回车一次),直到在IE的窗口可以看到这个Excel文件被打开.
然后什么也不需要做,关闭IE.现在回到Excel窗口看看,咦,怎么刚才新建的
文件被关闭了!
但是开启多个Excel窗口,然后逐一关闭,它们之间是不会产生这种效果.

原因:
因为用IE打开一个Excel文件时(OLE方式),如果发现当前进程列表中有一
个Excel进程时就不会再新建一个Excel进程,而是使用已有的进程.而开启
多个Excel窗口时,却会在内存中创建多个Excel进程,这些进程之间互不相干.
而且我发现用CreateOLEObject函数,也可以创建多个excel进程的.

需要解决的问题:
能否做到在IE中打开Excel文件时,不管是否存在Excel进程都重新建立
一个新的Excel进程?
 
自己把应用数加1,不知道行不行。
 
>> 重新建立一个新的Excel进程?
应该不是太大困难吧!!!!

楼主能说具体一点吧??
我是菜鸟,呵呵~~~~~~~~~~~~
 
不是自己新建一个Excel进程,是用IE去打开某个Excel文件时要求IE新建一个Excel进程!
 
在新建时用这个函数试试看CreateProcess,我还没有用过,不知道行不行!嘿。。。。。。。。。
 
我没有遇到你的问题耶,如果IE与Excel文件名相同的话,
如 Drive:/Path/.../Book1.xls 和 Book1的话也是会出现该情况的,
故想通过建立Excel进程解决问题是不对的,
除非是自己在打开文件(Open)时不检测外部文件(自己控制的啦,所以想叫IE这样做呀问 MS啦)
呵呵~~~~~~~~~~~~~`
 
我认为这是一个BUG!它的存在与系统以及IE有关。
我用的系统是Windows XP PRO SP2版及IE6.0 SP1,并一直进行在线更新,并不存在你所述的问题。当在IE中打开本地EXCEL文件时,它会直接调用EXCEL新建新的线程,来打开这个文件,而不管是否已存在EXCEL线程!
 
to Netsoft, 冬苇:
当IE打开Excel文件时,如果发现Excel进程已经存在就不会创建新的Excel进程了.
你们可以看一下Windows的任务管理器,里面是两个Excel进程还是一个?
我这里指的是Excel进程,不是Excel窗口!
 
嘻嘻,
我想我上面已经说得很清楚了,
不管你建多少个 Excel进程什么的,
反正用 IE 打开时会检测是否有相同文件名(没有扩展名的那种),
有就关闭他,队非自己去控制他打开文件时不检测外部已打开的文件,
但你能控制 IE 的Open 过程吗?????? 问 MS 啦,

呵呵~~~~~~~~~~~~~~~~
 
我用的是IE6.0.2600.0000,Excel2000但没有出现楼主的现象。
 
To hsoft
老兄,你打开Excel后例如标题为 Book1,再打开一个对应的 C:/Book1.xls 文件再试试看,如果还没有出现现象,我也去装个 IE 6试试。

呵呵~~~~~~~~~~~~~~~~
 
哦,昨天我试的时候没有把Excel新建的文件保存,今天把Excel新建的文件保存后就不会出现
关闭IE时同时关闭Excel的新建文件的现象.

其实我的问题不是这个,因为我在程序用的是TWebBrowser,我首先开启一个Excel窗口,然后
运行我的程序(里面包含一个TWebBrowser),然后在我的程序里用WebBrowser去打开一个excel文件,然后就发现最先开启的Excel窗口无法响应了.我又换成Embeddedwb,也是一样的问题.

我在想,TWebBrowser,Embeddedwb用的都是IE的接口,怎么会不一样呢?
 
无法响应是怎么个样呢?????
我也用过并没有什么呀,
和用IE打开时一个样,

呵呵~~~~~~~~~~
 
无法响应指的是:
当首先开启一个Excel窗口后,然后再在我的程序里用TWebBrowser的Navigate方法打开另一个Excel文件,那么现在无论如何点击任务栏上Excel窗口条,显示在最前面的总是我程序中TWebBrowser使用OLE方式打开的Excel画面.Embeddedwb也有跟TWebBrowser一样的问题.
但是我用IE6试了却没有这个问题.Why???
 
>> 但是我用IE6试了却没有这个问题.Why???
大概他在打开时的处理不同了吧,呵呵~~~~~~~~~这个恐怕除非MS谁也不知道内幕!!

呵呵~~~~~~~~~~~~~~~~~~~~~~```
 
To doxpix
老大,帮帮忙,把你修改后的RichView,支持中文的发一份给我,我急得救命!
小弟在这里我先谢了,我的Email是:tian9631@sina.com
 
to tian9631,
不好意思,我最近的IBM移动硬盘彻底坏了,硬盘上的东西一个也找不回来了.
并且我修改源码的RichView支持中文并不彻底,你不如试试最新的RichView.
 
后退
顶部