使用宏将AS excel文件保存到特定位置

时间:2016-06-07 12:53:40

标签: excel vba excel-vba

我有一个代码可以从工作簿中选择一些工作表并创建一个新文件。但它将新生成的文件保存在随机位置。我想将新文件保存在特定位置。 寻找帮助和线程我随机使用

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

2 个答案:

答案 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只是将其保存在默认保存位置。