如何在没有任何对话框的情况下通过VB 2010保存Excel文件(如“另存为”)

我想通过VB 2010保存一个Excel文件,我有这些问题

  1. 我怎样才能禁用“另存为”对话框? 我试过的只是“保存”而不是“另存为”,但没有奏效。

  2. 当我保存文件(使用另存为),我不能删除它…(我试图closuresexcel文件,Visual Basic等…)我得到的是一个错误,说它是excel中的allready打开.. 。

  3. 有没有一种方法可以让VB向我展示编写excel的技巧(也就是说,当我编写messagebox的时候 – 它会popup“Show”的帮助文件),我怎样才能让excel代码[worksheets.cells。ect。] )

连接:

Sub Connect() ' Connect to the excel file oExcel = CreateObject("Excel.Application") 'Devine the workbook oBook = oExcel.workbooks.open("e:\Words\Heb.xls") End Sub 

saveas:

 Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click oExcel.SaveAs(oExcel.Path & ".xls") End Sub 

非常感谢

我认为Inafiziger已经解决了你的主要问题,它应该是一个香草Save

因为我不清楚你是什么doind(即Visual Studio / VB / BA)那么

在(1)

我认为值得澄清的是,如果您为用户提供select,则可以使用ThisWorkbook模块中的代码来检测和处理SaveAs 。 这个事件检测到SaveAs并取消它

 Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) If SaveAsUI Then MsgBox "You cannot use SaveAs to save this file", , "Save Cancelled!" Cancel = True End If End Sub 

此代码可以以编程方式添加到您的目标工作簿,但我怀疑你需要诉诸这个给定的,你应该能够运行简单的Save

在(3)

您需要使用Early Binding来获得intellisense的好处。 您目前正在使用oExcel = CreateObject("Excel.Application")后期绑定。 一种常用的方法是编写代码并使其与早期绑定一起工作,然后将其转换为最终代码发布的后期绑定。

条件编译 (见底部的注释)可以用来在同一代码中的两种绑定方法之间切换。

你应该保存工作簿。 例如oBook.Save

如果您创build一个新文件,则需要使用SaveAs和一个有效的文件名,以便第一次保存。