如何保存通过2010 VB一个Excel文件,而无需任何对话框(如“另存为”)
我试图保存Excel文件通过VB 2010年,我有这些问题如何保存通过2010 VB一个Excel文件,而无需任何对话框(如“另存为”)
我怎样才能禁用“另存为”对话框?我试过的东西,如只是“节省”,而不是“另存为”,但它doesen't工作...
后,我保存的文件(使用另存为)我不能删除它... (我试图关闭excel文件,Visual Basic等...)我得到的是一个错误,说它已经在excel中打开了所有文件...
有没有一种方法可以让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
非常感谢
你应该保存工作簿。例如oBook.Save
。
如果您创建一个新文件,则需要使用带有有效文件名的SaveAs
以便第一次进行保存。
+1这应该是 – brettdj 2012-03-27 02:33:32
我认为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(请参阅底部的注释)可用于在同一代码中的两种绑定方法之间切换。
+1的额外细节! – lnafziger 2012-03-27 02:38:43
您是使用Visual Studio还是Excel VBA? – brettdj 2012-03-27 02:19:41
视觉工作室... – 2012-03-27 13:59:18