如何另存为和更改格式文件VBA

时间:2018-10-04 14:30:38

标签: excel vba

我有一个使用 SaveCopyAs 方法将名称文件和格式更改为xlsx的代码。我想我的问题是,因为我将格式类型从 xls 更改为 xlsx 。当我打开新文件时,弹出错误消息:无法打开此文件,因为其格式或扩展名无效。... 我的目标是触发保存操作,因为它会自动添加文件名(此操作可行)并将格式更改为 xlsx

Sub Save()

Dim nameFile as String
Dim pathDest as String

nameFile = Cells(2, 18).Value 
pathDest = ThisWorkbook.Path & "\"
ThisWorkbook.SaveCopyAs pathDest & nameFile & ".xlsx"

End Sub

2 个答案:

答案 0 :(得分:2)

Sub Save()

Dim nameFile as String
Dim pathDest as String
On Error GoTo ExitErr
    Application.DisplayAlerts = False
    nameFile = Cells(2, 18).Value 
    pathDest = ThisWorkbook.Path & "\"
    ThisWorkbook.SaveAs pathDest & nameFile & ".xlsx", FileFormat:=51
ExitErr:
    Application.DisplayAlerts = True
End Sub

这将正确设置文件扩展名和文件格式,并禁用执行此操作时出现的提示。

答案 1 :(得分:0)

很抱歉,如果我由于不正确的复制和粘贴而将其简化了,但是您需要在“ .xlsx

上加上撇号

要尝试的其他几点:

  • 使用功能ActiveWorkbook.SaveCopyAs代替ThisWorkbook
  • 将pathDest定义为功能Application.ActiveWorkbook.Path