这是我用来制作电子表格并保存的vba命令:
DoCmd.TransferSpreadsheet acExport ,," query_alldata1"," C:\ All_Data_2014.xlsx",True
我还希望它在屏幕上自动打开或显示。我很感激任何指南。
这是我的subroutin的样子:
Private Sub btnAlldatagen_Click()
On Error GoTo Err_btnAlldatagen_Click
Dim stDocName As String
stDocName = "query_alldata1"
DoCmd.TransferSpreadsheet acExport, , "query_alldata1", "C:\All_Data_2014.xlsx", True
'Workbooks.Open "C:\All_Data_2014.xls"
MsgBox ("Preparing all Data Report")
Exit_btnAlldatagen_Click:
Exit Sub
Err_btnAlldatagen_Click:
MsgBox Err.Description
Resume Exit_btnAlldatagen_Click
End Sub
我正在使用Workbooks.open命令,但它没有打开工作表。
答案 0 :(得分:2)
哦,这个很容易。
在
DoCmd.TransferSpreadsheet acExport, , "query_alldata1", "C:\All_Data_2014.xlsx", True
地点:
Dim xl As Object
Set xl = CreateObject("Excel.Application")
With xl
.Visible = True
.Workbooks.Open ("C:\All_Data_2014.xlsx")
'.Do other things with excel here
'.Workbooks("Test1.xlsm").Close , False '<-- Uncomment to close workbook
'.Quit '<-- Uncomment to close Excel
End With
'Set xl = Nothing <-- Uncomment to set Excel to Nothing
答案 1 :(得分:1)
您可以添加对Excel运行时库(Microsoft Excel *对象库)的引用,并使用Excel VBA。
Dim xlApp as Excel.Application
Set xlApp = New Excel.Application
xlApp.Workbooks.Open("C:\All_Data_2014.xlsx")
xlApp.Visible
Set xlApp = Nothing
如果您计划多次执行此操作,则应确保在代码开头创建一次xlApp
变量,因为打开Excel的速度很慢。