通过Excel自动化创build文档时,请保存“保存更改”

在我正在开发的一系列业务应用程序中,我们有能力导出到Excel,这是我们通过Excel自动化实现的。 我们有两种导出方法 – 一种是保存文件,然后将它们附加到Outlook电子邮件(通过自动化); 另一个实际上是一个“预览”,它执行导出到Excel,但最终使应用程序可见,而不是保存/电子邮件。

报告中的一个问题是,当他们预览时,不做任何更改,并尝试closuresExcel,它提示标准的“是否要保存您的更改”。 他们的意见是,他们没有做任何改变,所以不应该显示这个信息。

有没有什么方法可以压制这个消息,而不是强制保存到一个我们必须手动清除的位置“在以后的时间点”?

以下方法为我工作:

Set XLHandle = CreateObject("Excel.Application") XLHandle.DisplayAlerts = False XLHandle.Visible = True Set XLBook = XLHandle.WorkBooks.Open("c:\temp\1.xls") 'This is where your user reviews the book and manually closes it. 'If you want to test out this code set a breakpoint at the next line, manually close Excel workbook then proceed with the execution. 'In your App you would need to implement certain synchronization with user actions instead of setting a breakpoint. XLHandle.Quit Set XLBook = Nothing Set XLHandle = Nothing 

这样你压制所有的popup窗口。 您可以随时访问DisplayAlerts属性,而不仅仅是在创build自动化对象之后。

谢谢Albert Albert

http://automation-beyond.com/

Workbook::Saved属性属性设置为true将会阻止Excel提示保存更改(只要不进行任何后续编辑)

如何objWorkbook.Close false

这个参数“false”负责SaveChanges

这是否解决了这个问题?

或者如果你想强制工作簿保存在任何时候把“真”代替。