作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在网上找到了打开“另存为”对话框到驱动器上某个位置的代码。
当您单击“保存”时,文件不会保存。
Dim varResult As Variant
'displays the save file dialog
varResult = Application.GetSaveAsFilename(FileFilter:= _
"Excel Files (*.xlsx), *.xlsx", Title:="Save PO", _
InitialFileName:="\\showdog\service\Service_job_PO\")
'checks to make sure the user hasn't canceled the dialog
If varResult <> False Then
Exit Sub
End If
最佳答案
您必须实际明确地告诉 Excel 保存工作簿。
Sub Mac2()
Dim varResult As Variant
Dim ActBook As Workbook
'displays the save file dialog
varResult = Application.GetSaveAsFilename(FileFilter:= _
"Excel Files (*.xlsx), *.xlsx", Title:="Save PO", _
InitialFileName:="\\showdog\service\Service_job_PO\")
'checks to make sure the user hasn't canceled the dialog
If varResult <> False Then
ActiveWorkbook.SaveAs Filename:=varResult, _
FileFormat:=xlWorkbookNormal
Exit Sub
End If
End Sub
使用GetSaveAsFilename
仅获取要保存的文件的路径,而SaveAs
方法实际上保存工作簿。
经过一番考虑,我可能建议使用 SaveCopyAs方法而不是简单的 SaveAs。顾名思义,这将使您的原始工作簿完好无损并保存副本。要做到这一点是一个相当简单的修改。
你会替换
ActiveWorkbook.SaveAs Filename:=varResult, _
FileFormat:=xlWorkbookNormal
与
ActiveWorkbook.SaveCopyAs Filename:=varResult
我要补充的最后一个考虑因素是,如果您将启用宏的工作簿另存为 .xlsx(通过 SaveAs 或 SaveCopyAs),那么您将丢失宏,无论是在原始工作簿中(如果您使用 SaveAs)还是在如果使用 SaveCopyAs 则保存的副本。如果您需要可用的宏,我会考虑将文件另存为 .xlsm。
关于excel - 如何保存在“另存为”对话框中选择的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29522278/
我是一名优秀的程序员,十分优秀!