如何使用macros在新生成的文件中获得“另存为”选项。

我已经编写了一个从工作簿中提取工作表的代码。 问题是工作表被解压缩并被创build为新文件,被保存在我的文档或一些随机的位置。 有无论如何,我可以得到一个提示窗口,让我“另存为”选项? 所以我可以把它保存在我想要的位置?

通过在这个论坛search,我尝试了两个不同的东西,

With Dialogs(wdDialogFileSaveAs) .Name = "MyTitle" .Show 

我也累了

 App.SendKeys("{F12}") enter code here 

但它给了我错误。

这里是我的代码任何人都可以帮忙。 我不知道我能把它放在哪里(可能会有一些额外的不必要的东西,因为我不知道代码是如何工作的,但不知何故,我试图使它工作)

 Sub GetCalcs() Dim Flname As String Dim ws As Worksheet Application.EnableEvents = False For Each ws In ActiveWorkbook.Sheets ws.Visible = xlSheetVisible Next Flname = "Calculation-" & InputBox("Enter Pump tag No P-XXXX:") & ".xls" Sheets(Array("Calculations")).Copy newfilename = Flname With ActiveWorkbook .SaveAs newfilename, FileFormat:=50 .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 

关于什么:

 Application.GetSaveAsFilename 

我想你正在寻找包含文件名的path。 只需添加一个文件path到您的文件的名称,你应该是好的!

Flname = {你要保存的path}&“Calculation-”&InputBox(“input泵标签No P-XXXX:”)&“.xls”

如果您想自定义您想要保存的位置,则只需popup一个提示框即可。

使用ActiveWorkbook saveLocation = Application.InputBox(提示:=“请input保存位置”,标题:=“保存位置”,默认:=“C:\用户\用户\文档”,types:= 2)

Flname =“Calculation-”&InputBox(“Enter Pump tag No P-XXXX:”)&“.xls”Sheets(Array(“Calculations”))。

newfilename = saveLocation&Flname

.SaveAs newfilename,FileFormat:= 50 .Close 0 End With For Each ws In ActiveWorkbook.Sheets If ws.Name <>“Main Calc”Then ws.Visible = xlSheetVeryHidden

万一

下一个