Jim*_*Jim 1 excel vba excel-vba
在Excel 2013 VBA中,此代码运行,但不写入文件,也不输出任何错误.我启用了Microsoft Scripting Runtime.
我是否需要限定类名?我错过了什么?
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
Run Code Online (Sandbox Code Playgroud)
可能文件正在创建,但不是你正在寻找它.
您只在调用CreateTextFile时指定文件名,因此它最终会出现在当前目录中.
使用完整路径以防止混淆:
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
Run Code Online (Sandbox Code Playgroud)