2012-03-27 69 views
3

我试图保存Excel文件通过VB 2010年,我有这些问题如何保存通过2010 VB一个Excel文件,而无需任何对话框(如“另存为”)

  1. 我怎样才能禁用“另存为”对话框?我试过的东西,如只是“节省”,而不是“另存为”,但它doesen't工作...

  2. 后,我保存的文件(使用另存为)我不能删除它... (我试图关闭excel文件,Visual Basic等...)我得到的是一个错误,说它已经在excel中打开了所有文件...

  3. 有没有一种方法可以让VB向我展示写入Excel中的东西(即 - 当我写消息框 - 它会弹出 “显示” 求助我怎样才能使这个Excel文件的代码。[worksheets.cells等。])

连接:

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

另存为:

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

非常感谢

+0

您是使用Visual Studio还是Excel VBA? – brettdj 2012-03-27 02:19:41

+0

视觉工作室... – 2012-03-27 13:59:18

回答

2

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

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

+0

+1这应该是 – brettdj 2012-03-27 02:33:32

4

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

由于这是我不清楚你是doind什么(即Visual Studio中/ VB/BA),那么

在(1)

我认为这值得澄清的是,你可以使用代码如果您要为用户提供选择,则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")的后期绑定。一种常用的方法是编写代码并使其与早期绑定一起工作,然后将其转换为最终代码发布的后期绑定。

Conditional Compilation(请参阅底部的注释)可用于在同一代码中的两种绑定方法之间切换。

+0

+1的额外细节! – lnafziger 2012-03-27 02:38:43