我已经编写了一个从工作簿中提取工作表的代码。 问题是工作表被提取并被创建为新文件,被保存在我的文档或某个随机位置。无论如何,我可以得到一个提示窗口,它给了我"另存为"选项 ?所以我可以将它保存在我想要的位置?
通过在这个论坛中搜索,我尝试了两种不同的东西,
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
答案 0 :(得分:1)
我认为您希望在文件名中包含路径。只需在文件名中添加一个文件路径,就可以了!
Flname = {您希望保存到的路径}&amp; “计算 - ”&amp; InputBox(“输入泵标签号P-XXXX:”)&amp;是 “.xls”
如果您想自定义每次要保存的位置,只需弹出一个提示框。
使用ActiveWorkbook saveLocation = Application.InputBox(提示:=“请输入保存 location:“,标题:=”保存位置“, 默认值:=“C:\ Users \ User \ Documents”,类型:= 2)
Flname =“计算 - ”&amp; InputBox(“输入泵标签号P-XXXX:”)&amp; “.xls”表格(数组(“计算”))。复制
newfilename = saveLocation&amp; Flname
.SaveAs newfilename,FileFormat:= 50.Close 0 End With For Each ws In ActiveWorkbook.Sheets如果ws.Name&lt;&gt; “主要计算”然后ws.Visible = xlSheetVeryHidden
结束如果
下一步
答案 1 :(得分:1)
怎么样:
Application.GetSaveAsFilename