Sub QQ1722187970() Dim sFN As String sFN = Excel.Application.GetOpenFilename() If Len(sFN) Then Dim arrName() Dim objCatalog Set objCatalog = VBA.CreateObject("ADOX.Catalog") Dim sVersion As String sVersion = Excel.Application.Version Dim sConStr As String '创建连接字符串 If sVersion <= 12 Then sConStr = "Provider='Microsoft.Jet.OLEDB.4.0';Data Source=" & sFN & ";Extended Properties='Excel 8.0;HDR=YES'" Else sConStr = "Provider='Microsoft.ACE.OLEDB.12.0';Data Source=" & sFN & ";Extended Properties='Excel 12.0;HDR=YES'" End If Dim oConStr Set oConStr = CreateObject("ADODB.Connection") '使用Connection连接数据源 oConStr.Open sConStr With objCatalog '关联Connection对象 Set .ActiveConnection = oConStr Dim oTable For Each oTable In .Tables Dim sName As String sName = oTable.Name '提取工作表名称 If Right(sName, 1) = "$" Then Debug.Print sName ReDim Preserve arrName(k) arrName(k) = Left(sName, Len(sName) - 1) k = k + 1 End If Next End With Set oConStr = Nothing End If End Sub
标签:Dim,vba,String,sVersion,excel,Catalog,sFN,ADOX From: https://www.cnblogs.com/Insist-Y/p/16982810.html