【发布时间】:2017-06-09 04:00:58
【问题描述】:
我正在使用下面的 VBA 代码自动保存文件,但允许用户选择文件位置和名称。我有一个希望用户使用的固定文件名,例如:TestImport.xlsx,但我需要一些代码来允许他们选择特定 PC 上的路径。他们将每周运行此例程,因此他们可能拥有同名的先前版本的工作簿,因此他们必须回答对话框提示以替换文件。
当我运行代码时,我收到以下错误:
运行时错误“1004”
无法访问“TestImport.xlsx”
你能帮我看看下面的内容有什么问题吗?
Dim fd As FileDialog, fillName As String
On Error GoTo ErrorHandler
Set fd = Application.FileDialog(msoFileDialogSaveAs)
If fd.Show = True Then
If fd.SelectedItems(1) <> vbNullString Then
fillName = fd.SelectedItems(1)
End If
Else
'Stop Code Execution for Null File String
End
End If
saveFileAs = fillName
'Cleanup
Set fd = Nothing
Windows("MeritImport.xlsx").Activate
Application.ActiveWorkbook.SaveAs Filename:=fillName, _
FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
Exit Sub
ErrorHandler:
Set fd = Nothing
MsgBox "Error " & Err & ": " & Error(Err)
【问题讨论】: