我正在尝试通过VB 2010保存Excel文件,我有这些问题
如何禁用“另存为”对话框?我尝试了诸如“保存”而不是“另存为”之类的东西,但它不起作用......
我保存文件后(使用另存为)我无法删除它...(我尝试关闭excel文件,Visual Basic等...)我得到的是一个错误,说它是已经在excel中打开......
有没有办法让VB向我展示编写excel内容的提示(即 - 当我编写messagebox时 - 它会弹出“显示”以获取帮助。如何为excel代码启用此功能[工作表] .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
非常感谢
答案 0 :(得分:4)
我认为Inafiziger已经解决了你的主要问题,它应该是一个香草Save
。
由于我不清楚你的确是什么(即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 :(得分:2)
您应该保存工作簿。例如oBook.Save
。
如果您创建了一个新文件,则需要使用带有效文件名的SaveAs
才能在第一时间保存它。