Excel利用用VBA获取指定工作簿中的工作表名称
如果需要用VBA的方法获得某个工作簿中工作表的名称,可以使用下面的代码,其中使用了 Microsoft ActiveX Data Objects (ADO),可以将指定工作簿中的工作簿名称显示在A列中,在使用时需将代码中的工作簿名称及路径进行更改。
Sub GetSheetNames()
Dim objConn As Object
Dim objCat As Object
Dim tbl As Object
Dim iRow As Long
Dim sWorkbook As String
Dim sConnString As String
Dim sTableName As String
Dim cLength As Integer
Dim iTestPos As Integer
Dim iStartpos As Integer
'在此输入工作簿名称及路径.
sWorkbook = "G:\Excel文件\book2.xls"
sConnString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & sWorkbook & ";" & _
"Extended Properties=Excel 8.0;"
Set objConn = CreateObject("ADODB.Connection")
objConn.Open sConnString
Set objCat = CreateObject("ADOX.Catalog")
Set objCat.ActiveConnection = objConn
iRow = 1
For Each tbl In objCat.Tables
sTableName = tbl.Name
cLength = Len(sTableName)
iTestPos = 0
iStartpos = 1
If Left(sTableName, 1) = "'" And Right(sTableName, 1) = "'" Then
iTestPos = 1
iStartpos = 2
End If
If Mid$(sTableName, cLength - iTestPos, 1) = "$" Then
Cells(iRow, 1) = Mid$(sTableName, iStartpos, cLength - _
(iStartpos + iTestPos))
iRow = iRow + 1
End If
Next tbl
objConn.Close
Set objCat = Nothing
Set objConn = Nothing
End Sub
版权声明
本文仅代表作者观点,不代表本站立场。
本站资源均来自互联网整理,版权归原作者所有,切勿用作非法使用和未经授权的商用,因此带来的法律风险与本站无关。
- 上一篇: 利用VBA在Excel中播放MP3音乐
- 下一篇: Excel利用VBA列出工作表中的所有公式
发表评论