如何用vba代码判断指定位置的excel文件中的指定sheet是否存在,若存在,怎么删除
我想把查询结果导入到excel中,用的是
DoCmd.RunSQL ( "SELECT * into [Excel 8.0;Database=D:\Test1.xls].Sheet1 from 表名 ")的语句
但是sheet1 已经存在的时候,再执行改语句,出错,提示,该sheet已经存在,我想在执行之前,先检测该sheet是否存在,有的话,删除。
请问,检测和删除的语句怎么写?
或者用哪个导出的语句,可以直接覆盖,已经存在的时候,不会提示错误,直接覆盖的。
------解决方案--------------------Set df = CreateObject( "EXCEL.APPLICATION ")
df.Visible = True
df.DisplayAlerts = False
df.Workbooks.Open "D:\TEMP\123.XLS "
For I = 1 To df.Worksheets.Count
If df.Worksheets(I).Name = UCase( "SHEET1 ") Then
MsgBox df.Worksheets(I).Name
df.Worksheets(I).Delete
End If
Next
df.ActiveWorkbook.Save
df.Quit
Set df = Nothing
DoCmd.RunSQL ( "SELECT * into [Excel 8.0;Database=D:\TEMP\123.xls].Sheet1 from B1 ")
------解决方案--------------------1、用dir( "D:\test.xls "),如果返回空串,表示没有这个文件
if dir( "D:\test.xls ") then
msgbox "不存在这个文件 "
endif
2、如果只有一个sheet,直接删除这个文件,如:
if df.Worksheets.Count=1 then
kill ( "D:\test.xls ")
endif