vba下,如何在不打开文件的情况下,读取excel的工作表的名称,帮我写个函数也行啊

如题

不打开是不行的,至少得用代码打开。
sub test()
dim mary(1 to 1024,1 to 1),k as long,myFile as string
dim wb as workbook,sh as workSheet
myFile="D:\我的Excel文件.xls" '注:你文件的类型,可能是.xlsm或.xlsx格式,自行相应改动本行
k=0
set wb=workbooks.open(myfile)
for each sh in wb.worksheets
k=k+1
mary(k,1)=sh.name
next
wb.close 0
with activesheet
.[a1].resize(k,1)=mary
end with
end sub
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-03-09
Sub AdoTs()

Dim cat
Dim cnn
Dim c

Set cnn = CreateObject("ADODB.Connection")
Set cat = CreateObject("ADOX.Catalog")
cnn.Open "provider=microsoft.jet.oledb.4.0;extended properties='Excel 8.0';Data Source = " _
& ThisWorkbook.Path & "\abc.xls"

Set cat.ActiveConnection = cnn
For Each c In cat.Tables
Debug.Print c.Name
Next c
Set c = Nothing
Set cat.ActiveConnection = Nothing
Set cat = Nothing
Set cnn = Nothing

End Sub
用这个代码试下追问

你这个是不是在access下的,我要excel下的,最好在单元格中输出

相似回答