强制“是”以保存并另存为无宏工作簿

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 处理共享工作簿的冲突,而不是覆盖提示,如链接答案中所述。

以上是关于强制“是”以保存并另存为无宏工作簿的主要内容,如果未能解决你的问题,请参考以下文章

在不保存工作簿的情况下更改 Excel 中的默认另存为位置

wps表格有多个表格时怎样另存为其中单一的一个表格

Excel SaveAs 更改活动工作簿 - 如何另存为并保持活动工作簿处于活动状态? [复制]

Excel VBA:将工作簿另存为 Word 文档

如何将选定的工作表另存为新工作簿

遍历下拉列表并将工作簿另存为新文件