强制“是”以保存并另存为无宏工作簿
Posted
技术标签:
【中文标题】强制“是”以保存并另存为无宏工作簿【英文标题】:Force yes for save over and save as macro free workbook 【发布时间】:2015-08-12 15:36:26 【问题描述】:我制作的宏将模板工作簿保存为两个单独的文件。每个测试保存一个(位置 1、2、3 或 4),然后在另一个宏中使用每个测试的数据。第二个是保留用于备份的原始数据文件。现在的问题是每次我在每个位置运行测试并运行此宏时,它都会询问我是否要保存之前的测试。我怎么能不问就告诉它说是的。我想将此工作簿另存为无宏工作簿也是如此。我必须在我的代码中输入什么,我应该把它放在哪里?非常感谢任何帮助。 谢谢
已解决的代码:
Sub Auto_Open()
With Range("A30")
.Value = Time
.NumberFormat = "h-mm-ss AM/PM"
End With
Dim FileName As String
Dim FilePath As String
Dim FileDate As String
MyNote = "Is Cell 'B27' Overview Information" & SavePath & " Location1,2,3,or 4?"
Answer = MsgBox(MyNote, vbQuestion + vbYesNo)
If Answer = vbYes Then
FilePath = "C:\Users\aholiday\Desktop\FRF_Data_Macro_Insert_Test"
FileName = Sheets("Data").Range("B27").Text
Application.DisplayAlerts = False
ThisWorkbook.SaveAs FileName:=FilePath & "\" & FileName
Dim FileCopyName As String
Dim FileCopyPath As String
Dim FileTime As String
FilePath = "C:\Users\aholiday\Desktop\Backup"
FileName = Sheets("Data").Range("B27").Text
FileTime = Sheets("Data").Range("A30").Text
ThisWorkbook.SaveAs FileName:=FilePath & "\" & FileName & FileTime & ".xlsx", FileFormat:=xlOpenXMLWorkbook
MsgBox "File was saved!"
MsgBox "Ready for Next Test, Please Exit."
Application.DisplayAlerts = True
Else
MsgBox "File was not saved, Please Use Location_1,2,3or,4 Durring SIG ATM Test"
End If
End Sub
【问题讨论】:
【参考方案1】:在尝试保存之前添加Application.DisplayAlerts = False
。保存后记得返回 True。
【讨论】:
这会自动对两次保存都说是吗? 如果您在第一次保存之前放置它,它应该可以。我正在查看@MatthewD 的答案 - 我从未见过这种方法,所以它可能会更好。 成功了!我知道这很简单。谢谢【参考方案2】:ConflictResolution 应该是 xlLocalSessionChanges 才能看不到提示
ConflictResolution:=Excel.XlSaveConflictResolution.xlLocalSessionChanges
来自
How to use workbook.saveas with automatic Overwrite
【讨论】:
这是不正确的。ConflictReslution
处理共享工作簿的冲突,而不是覆盖提示,如链接答案中所述。以上是关于强制“是”以保存并另存为无宏工作簿的主要内容,如果未能解决你的问题,请参考以下文章