gpt4 book ai didi

vba - 通过 VBA 关闭后,Textstream 对象在 Excel 中保持打开状态

转载 作者:行者123 更新时间:2023-12-03 03:44:18 24 4
gpt4 key购买 nike

我在 Excel 2007 中有一些 VBA 代码,用于创建、填充然后关闭 Textstream 文件对象(下面的缩写代码段)。

Set CSV = FSO.CreateTextFile(strPathOut & Application.PathSeparator & strFileOut)

'Fill the file

CSV.Close

该代码工作正常,包括 CSV.Close 指令,但是如果我随后尝试删除或修改该文件(例如在 Windows 资源管理器或记事本中),系统会声称 Excel 仍然打开该文件。似乎释放它的唯一方法是关闭 Excel 本身。

我已经检查 CSV.Close 是否正在从 VBA 端执行其应执行的操作;它不会导致运行时错误,并且肯定在该指令之后该文件不再可供写入。

我的项目早期绑定(bind)到 Microsoft 脚本运行时 scrrun.dll。我尝试删除该引用,但得到了相同的结果。

这不是该项目的一个亮点,但它是开发过程中的 PITA。有人知道这是怎么回事吗?

最佳答案

尝试这个简单的示例 - 该文件可通过例如编辑记事本,代码运行后:

Option Explicit

Sub Test()

Dim objFSO As New FileSystemObject
Dim objStream As TextStream
Dim i As Integer

Set objStream = objFSO.CreateTextFile("D:\temp.txt")
With objStream
For i = 1 To 10
.WriteLine CStr(i)
Next i
.Close
End With

Set objStream = Nothing
Set objFSO = Nothing

End Sub

关于vba - 通过 VBA 关闭后,Textstream 对象在 Excel 中保持打开状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40930311/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com