投稿者 snowmansnow  (社会人) 投稿日時 2022/10/21 15:08:27

 こんにちは
  VBAでADOでシート名を取得する場合の質問をさせて頂きたいです

 
 FileN = C:\ほげほげ\エクセル.xlsm
 SNo = シートNo ※これが、


Function MyADOExcel666(FileN As String, SNo As Long)
  
    Dim cn     As Object
    Dim rs     As Object
    Dim adoCat As Object
     
    Set cn = CreateObject("ADODB.Connection")
    Set rs = CreateObject("ADODB.Recordset")
    cn.Provider = "Microsoft.ACE.OLEDB.12.0"
     
    cn.Properties("Extended Properties") = "Excel 12.0;HDR=NO;IMEX=1"
 
    cn.Open FileN
 
    Set adoCat = New ADOX.Catalog
    Set adoCat.ActiveConnection = cn
    
    MyADOExcel666 = adoCat.Tables(SNo).Name
 
'   rs.Close 
'    Set rs = Nothing 
'    cn.Close 
'    Set cn = Nothing 
     
End Function

のようなコードで、一応シート名は取得できるようなのですが、
ワークブックの一番左のシート名の取得
(sheets(0).name みたいな)
というような、シート名は、どのように取得したら良いのでしょうか?
よろしくお願いします。