我有一个代码可以从工作簿中选择一些工作表并创建一个新文件。但它将新生成的文件保存在随机位置。我想将新文件保存在特定位置。 寻找帮助和线程我随机使用
Application.GetSaveAsFilename
它为我提供弹出窗口"另存为"但它并没有将文件保存在我提到的位置。任何人都可以看到我的宏并帮助我。
这是我的代码。
Sub SaveMain()
Dim Flname As String
Dim ws As Worksheet
Application.EnableEvents = False
For Each ws In ActiveWorkbook.Sheets
ws.Visible = xlSheetVisible
Next
ActiveWorkbook.Sheets("3").Range("N15").Value = ActiveWorkbook.Sheets("Calculations").Range("W23").Value
ActiveWorkbook.Sheets("3").Range("N16").Value = ActiveWorkbook.Sheets("Calculations").Range("W28").Value
'there are some more copy cells
Flname = "Pump Datasheet-" & InputBox("Save file as") & ".xls"
Sheets(Array("Cover", "2", "3", "4", "5", "6", "7", "8", "9")).Copy
newfilename = Flname
With ActiveWorkbook
.SaveAs newfilename, FileFormat:=50
Application.GetSaveAsFilename
.Close 0
End With
For Each ws In ActiveWorkbook.Sheets
If ws.Name <> "Main Calc" Then
ws.Visible = xlSheetVeryHidden
End If
Next
Application.EnableEvents = True
End Sub
答案 0 :(得分:1)
请尝试以下格式:
saveAsFileName = Application.GetSaveAsFilename(InitialFileName:=fName, FileFilter:="Excel Files (*.xlsx), *.xlsx")
If saveAsFileName <> "False" Then
'Do something here
Else
'Do something else here
End If
答案 1 :(得分:0)
Flname = "C:\temp\Pump Datasheet-" & InputBox("Save file as") & ".xls"
这会将您的文件保存为“{1}}
中的”泵数据表 - 来自inputbox.xls的内容“目前您没有指定文件夹名称,因此Excel只是将其保存在默认保存位置。