我遇到的问题是文档有时会导入很好,而在其他时间则不会。从它看起来,Excel并不总是关闭。任何人都可以提出一种方法来确保打开的Excel实例已关闭?或者指出我对此有很好的参考?我在MS Access中使用这个VBA。下面是我的代码:VBA Excel只是不会退出
Public Function ImportPayment()
Dim fd As FileDialog
Dim wb As Workbook
Dim ws As String
Set fd = Application.FileDialog(msoFileDialogFilePicker)
With fd
.AllowMultiSelect = False
.Title = "Please select a file."
.Show
On Error GoTo ErrorHandler:
ws = fd.SelectedItems(1)
Workbooks.Open (ws)
Rows("1:9").Select
Selection.Delete Shift:=xlUp
Cells(Rows.count, "L").End(xlUp).EntireRow.Delete
Excel.Application.DisplayAlerts = False
ActiveWorkbook.SaveAs FileName:= _
"\\servername\serverfolder\serversubfolder\subfolder\sub\file.txt",
FileFormat:=xlText _ , CreateBackup:=False
End With
ActiveWorkbook.Close
Excel.Application.DisplayAlerts = True
Excel.Application.Quit
DoCmd.TransferText acImport, "Specification", "table",
"\\server\serverfolder\serversubfolder\subfolder\sub\file.txt", False
MsgBox ("Your data was imported successfully.")
ImportPayment = Yep
Exit Function
ErrorHandler:
ImportPayment = Nope
MsgBox ("The upload was canceled.")
End Function
因为我知道该文件总是会成为一个Excel文件,所以在文件选取器之前创建一个Excel对象是否理想?我只是想通过这里思考一些想法。我一直在使用VBA大约4个月,所以我在这方面还很缺乏经验。 – mbnew
是的,它是:通过实例化一个Excel应用程序对象并在此应用程序对象中添加工作簿对象来保持对Excel对象的控制。 – Trace