Vba ';文件可能已损坏';打开从CSV保存为工作簿格式的文件时
有人可以帮我修复下面的代码,因为它正在保存,但我无法打开该文件,因为它说,该文件可能已损坏。也许我做错了什么。请注意,该文件以CSV格式接收,需要保存为常规excel文件Vba ';文件可能已损坏';打开从CSV保存为工作簿格式的文件时,vba,excel,Vba,Excel,有人可以帮我修复下面的代码,因为它正在保存,但我无法打开该文件,因为它说,该文件可能已损坏。也许我做错了什么。请注意,该文件以CSV格式接收,需要保存为常规excel文件 Sub SaveAsToFolderPath() Dim MyFileName As String Dim folderPath As String Dim dateFormat As String folderPath = "C:\Users\A\Desktop\M work\DFMS\"
Sub SaveAsToFolderPath()
Dim MyFileName As String
Dim folderPath As String
Dim dateFormat As String
folderPath = "C:\Users\A\Desktop\M work\DFMS\"
dateFormat = Format(Now, "dd.mm.yyyy HH-mm-ss AMPM")
MyFileName = Range("G2").Value
If Not ActiveWorkbook.Saved Then
ActiveWorkbook.SaveAs Filename:=folderPath & MyFileName & " - Next Delivery " & dateFormat & ".xlsm"
End If
End Sub
在保存CSV文件时,您正在更改CSV文件的扩展名。稍后打开保存的.XLSX文件时,Excel需要XLSX格式,但会看到逗号分隔的值-因此,文件不是预期格式,它一定已损坏 当您
SaveAs
时指定文件格式:
SaveAs
可用的文件格式是XlFileFormat
枚举的成员。在保存CSV文件时,您正在更改CSV文件的扩展名。稍后打开保存的.XLSX文件时,Excel需要XLSX格式,但会看到逗号分隔的值-因此,文件不是预期格式,它一定已损坏
当您SaveAs
时指定文件格式:
SaveAs
可用的文件格式是XlFileFormat
enum的成员。对不起,我想我把.xlsm
与文件格式而不是扩展名混淆了。如果我指定了文件格式xlWorkbookDefault
,是否仍需要将扩展名.xlsm
?excel在保存文件时不会自动执行此操作吗?很抱歉,我认为我对.xlsm
感到困惑,因为它是文件格式,而不是扩展名。如果我指定了文件格式xlWorkbookDefault
,是否仍需要将扩展名.xlsm
?excel在保存文件时是否会自动执行此操作?
Dim path As String
path = folderPath & MyFileName & " - Next Delivery " & dateFormat & ".xlsm"
ActiveWorkbook.SaveAs path, xlWorkbookDefault