Ger*_*ton 7 vb.net excel automation interop excel-interop
我正在开发一个vb.net控制台应用程序,它可以逐个打开多个电子表格,读取几个单元格并关闭文件.
当我打开文件时,某些电子表格具有Excel重新计算的公式,并且我收到一个对话框,询问我是否要在关闭电子表格时保存对电子表格的更改.
消息:"是否要将更改保存到myfile.xls?Microsoft Office Excel在打开上次由早期版本的Excel保存的文件时重新计算公式"
如何自动拒绝该对话框?
Dim newCBD As New CBD
Dim xlApp As Excel.Application
Dim xlWorkBook As Excel.Workbook
Dim xlWorkSheet As Excel.Worksheet
xlApp = New Excel.ApplicationClass
xlWorkBook = xlApp.Workbooks.Open(myFile)
xlWorkSheet = xlWorkBook.Worksheets(1)
...do a bunch of junk here
xlWorkBook.Close()
xlApp.Quit()
Run Code Online (Sandbox Code Playgroud)
谢谢!
DJ.*_*DJ. 14
您需要在Close方法上提供False参数
xlWorkBook.Close(False)
Run Code Online (Sandbox Code Playgroud)
从Excel VBA帮助:
应用于Workbook对象的Close方法.
关闭对象.
expression.Close(SaveChanges,Filename,RouteWorkbook)
表达式必需.返回上述对象之一的表达式.
SaveChanges可选Variant.如果工作簿没有更改,则忽略此参数.如果工作簿发生更改并且工作簿出现在其他打开的窗口中,则忽略此参数.如果工作簿发生更改但工作簿未出现在任何其他打开的窗口中,则此参数指定是否应保存更改,如下表所示.
值操作True保存对工作簿的更改.如果还没有与工作簿关联的文件名,则使用FileName.如果省略FileName,则要求用户提供文件名.False不保存对此文件的更改.省略显示一个对话框,询问用户是否保存更改.
FileName可选Variant.保存此文件名下的更改.
RouteWorkbook可选变体.如果不需要将工作簿路由到下一个收件人(如果它没有路由选择或已经路由),则忽略此参数.否则,Microsoft Excel将路由该工作簿,如下表所示.
值含义True将工作簿发送给下一个收件人.False不发送工作簿.省略显示一个对话框,询问用户是否应发送工作簿.
归档时间: |
|
查看次数: |
11500 次 |
最近记录: |