某些时候需要打开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

相关文章:

  • 2022-12-23
  • 2021-12-15
  • 2022-12-23
  • 2021-08-17
  • 2021-12-28
  • 2021-12-02
  • 2022-12-23
猜你喜欢
  • 2022-02-11
  • 2022-12-23
  • 2022-02-11
  • 2021-10-16
  • 2021-09-17
  • 2021-12-15
  • 2022-12-23
相关资源
相似解决方案