我在Access窗体上创建了一个向导按钮,您可以在其中将Query的数据传输到新的excel文件,然后新文件将自动打开。 有没有办法引用这个新文件或Sheet,因为我想在这个新文件中添加一些内容。
答案 0 :(得分:1)
这将获得一个Excel的开放实例(如果它存在)或创建一个如果没有。
Public Function GetExcelApp() As Excel.Application
' Returns open excel instance.
' If it doesn't exist, creates one to return
On Error GoTo ErrHandler
Const PROC_NAME As String = "GetExcelApp"
Const ERR_APP_NOTRUNNING As Long = 429
Set GetExcelApp = GetObject(, "Excel.Application")
CleanExit:
Exit Function
ErrHandler:
If Err.Number = ERR_APP_NOTRUNNING Then
Set GetExcelApp = CreateObject("Excel.Application")
Else
Err.Raise Err.Number, GetErrorSource(PROC_NAME), Err.Description & vbNewLine & "Unable to get instance of Excel.", Err.HelpFile, Err.HelpContext
End If
End Function
我将此代码保存在XLHelper
类中并像这样使用它。
Dim helper As New XLHelper
Dim xl As Excel.Application
Dim wb As Excel.Workbook
Dim ws As Excel.Worksheet
Set xl = helper.GetExcelApp
Set wb = xl.Workbooks.Add
Set ws = wb.Worksheets.Add
要获取新工作表/工作簿的引用,只需将其设置为等于集合的Add
方法的结果。
这是有效的,因为Workbook.Add
和Worksheets.Add
会返回他们创建的对象。