在Excel 2013中编写FileSystemObject VBA不起作用了

在Excel 2013 VBA中,此代码运行,但不写入文件,不会输出任何错误。 我启用了Microsoft脚本运行时。

我需要限定类名吗? 我错过了什么?

Set fs = CreateObject("Scripting.FileSystemObject") If Not fs.FolderExists(Write_Dir_Name) Then Create_Directory Write_Dir_Name End If If Right(Write_File_Name, 4) = ".xml" Then Set a = fs.CreateTextFile(Write_File_Name, True) Else Set a = fs.CreateTextFile(Write_File_Name & ".xml", True) End If '... 'Writes data to xml file '... a.Close 

可能文件正在创build,但不是你要找的地方。

你只在调用CreateTextFile的时候指定了一个文件名,所以它会以当前目录的forms结束。

使用完整的path来防止混淆:

 Set fs = CreateObject("Scripting.FileSystemObject") If Not fs.FolderExists(Write_Dir_Name) Then Create_Directory Write_Dir_Name End If If Right(Write_File_Name, 4) = ".xml" Then Set a = fs.CreateTextFile(Write_Dir_Name & Write_File_Name, True) Else Set a = fs.CreateTextFile(Write_Dir_Name & Write_File_Name & ".xml", True) End If '... 'Writes data to xml file '... a.Close