以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]语句删除文件不成功,出现不支持流写入的错误  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=179408)

--  作者:新福星
--  发布时间:2022/8/22 15:21:00
--  [求助]语句删除文件不成功,出现不支持流写入的错误
如图。将一个整理好的Excel文件进行保存时出现了流不支持写入的错误。这个问题并不是总出现,隔三差五就出现一次
经查验确定是在Book.Save(File_Name)这条语句上发生的错误,这条语句应该是能够将原有文件覆盖掉的,但是好象就是因为无法覆盖该文件才产生出不支持流写入的错误。
于是增加下列程序,在写入File_Name文件前先行删除。实测时发现尽管这些语句执行了,但是该文件并没有删除,此处无法删除,后续覆盖也是无法完成的,接着就会出现错误提示了!
If FileSys.FileExists(File_name) Then
    FileSys.DeleteFile(File_name, 2, 2)
    MessageBox.Show(200)
End If

好象文件被谁占用了无法写入或删除!

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20220822150532.png
图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2022/8/22 15:36:00
--  
删除不了的可能原因:
1、文件被其它程序打开了,比如office,wps
2、文件被杀毒软件锁定。比如正在扫描病毒
3、文件被系统锁定,这种情况比较诡异,就算使用360的文件粉碎机都删除不了。
4、功能操作过快,比如生成一个execl报表,马上打印,接着就删除这个文件。报表生成,或者打印期间可能会被office和打印服务占用,需要一定的缓冲时间,马上删除不了

--  作者:新福星
--  发布时间:2022/8/22 17:33:00
--  
好象是找到问题的根源了!原来用的Excel模板是扩展名为xlsx,换成2003版xls后问题就解决了!这是啥原因?
--  作者:有点蓝
--  发布时间:2022/8/22 17:47:00
--  
我也搞不懂是什么原因