【发布时间】:2015-06-02 14:57:42
【问题描述】:
我正在使用下面的代码,以便用户可以“导出”他们正在处理的工作簿。基本上,他们在只读主工作簿中工作,当他们单击下面的子时,它会执行 SaveAs 到用户选择的文件夹,其中的文件名是:Sheets("Master").Range("B5 ")
这很好用,唯一的问题是如果用户选择的文件夹中有一个“.xlsm”文件并且他们单击它以获取文件名,则保存的工作簿名称将变为“XXXXXX.xlsm.xlsm”。如果用户没有点击任何东西并点击保存,它就可以正常工作。
有什么想法吗?如果不清楚,请告诉我
Sub ExportTrip()
Dim ActSheet As Worksheet
Dim ActBook As Workbook
Dim CurrentFile As String
Dim NewFile As String
Application.ScreenUpdating = False ' Prevents screen refreshing.
CurrentFile = ThisWorkbook.FullName
NewFile = Application.GetSaveAsFilename( _
InitialFileName:=Sheets("Master").Range("B5"))
If NewFile <> "" And NewFile <> "False" Then
ActiveWorkbook.SaveAs filename:=NewFile & "xlsm", _
FileFormat:=52, _
Password:="", _
WriteResPassword:="", _
ReadOnlyRecommended:=False, _
CreateBackup:=False
Set ActBook = ActiveWorkbook
Workbooks.Open CurrentFile
Application.DisplayAlerts = False
ActBook.Close
Application.DisplayAlerts = True
End If
Application.ScreenUpdating = True
End Sub
【问题讨论】: