rand(life)
[vba] 파일을 열지 않고 시트명 가져오기 본문
엑셀파일을 열지 않은 상태로 해당 파일안에 있는 시트이름을 가져오는 코드이다.
출처는 여기이다.
제대로 동작하기 위해서, 선행해야할 작업이 있다.
VB편집기에서 도구 - 참조를 실행
Microsoft ActiveX Dara Objects 2.x Library
Microsoft ADO Ext. 2.x for DDL and Security
위 두 항목을 체크하고 확인한다.
Sub GetSheetNames()
'도구 - 참조에서 아래 두 개 체크 해야함
'Microsoft ActiveX Dara Objects 2.x Library
'Microsoft ADO Ext. 2.x for DDL and Security
Dim cn As ADODB.Connection
Dim cat As ADOX.Catalog
Dim t As ADOX.Table
Set cn = New ADODB.Connection
cn.Open "Provider=MSDASQL.1;Data Source=Excel Files;" _
& "Initial Catalog=D:\download\sheet1.xlsx"
' 여기서 경로 및 파일 이름 지정
Set cat = New ADOX.Catalog
Set cat.ActiveConnection = cn
For Each t In cat.Tables
Debug.Print t.Name
Next t
Set cat = Nothing
cn.Close
Set cn = Nothing
End Sub
Debug.Print t.Name
이 부분을 적절히 바꿔서 시트에 뿌려주면 된다.