2010-07-29 53 views
3

我的问题是为什么当使用FileSystemWatcher类来监视何时保存excel文件FileSystemEventArgs回避.Deleted? 当监控.txt格式文件时,它是。更改FileSystemWatcher类

回答

8

我想:因为Excel首先创建一个临时文件,将信息写入那里,而不是删除原始.xls文件并重命名该临时文件。

如果保存操作失败,Excel可能会确保原始文件不会丢失。

+0

我确认这是发生了什么事。通过使用SysInternals的免费Process Monitor软件可以清楚地看到。 – 2010-07-29 15:27:56

3

它看起来像Excel可能会删除并重新创建您正在观看的文件。从经验上证明这一点的一种方法是让您的应用程序监视文件运行,然后打开并将文件保存在另一个应用程序中,例如记事本。如果这只会导致Changed事件被触发,那么它就是Excel导致触发Deleted事件。