VB中后台打开Excel文件实现代码

某些时候需要打开Excel文件来获取或者写入数据,但又不希望跳出打开的Excel文件窗口,可以用下面的代码:


Dim eb As New excel.Application, wb as excel.Workbook
Set wb = eb.Application.Workbooks.Open(FileName:=nameOfFile, ReadOnly:=False) ' open

' do your work

wb.Close True ' save and close

原理:New Excel.Application新建了一个Excel实例,这个实例默认不可见。具体而言,获取Excel.Application实例有两种方式:

Dim eb As Excel.Application
Set eb = CreateObject(, "Excel.Application")

' 新建Excel实例,同dim eb as new Excel.Application


Set eb = GetObject(, "Excel.Application")

' 从Windows环境获取Excel实例,如果当前没有打开的Excel窗口,将出现错误

如果对是否后台打开没有要求的话,最好结合上面两种方式获取Excel实例:
' 获取Excel实例,如果当前已经有excel窗口,则直接获取当前实例,否则新建实例


Function GetExcelApp() As Excel.Application
On Error Resume Next
Set GetExcelApp = GetObject(, "Excel.Application")
If Err.Number > 0 Then Err.Clear: Set GetExcelApp = New Excel.Application


End Function

原文地址:https://www.cnblogs.com/luoqin520/p/4861288.html