Поиск имени последнего листа Excel с помощью Visual Basic (VB): методы и примеры

Чтобы найти имя последнего листа Excel с помощью Visual Basic (VB), вы можете использовать различные методы в зависимости от версии Excel и конкретных требований вашего приложения. Вот несколько методов с примерами кода:

Метод 1: использование объектной модели Excel

Dim excelApp As New Excel.Application
Dim workbook As Excel.Workbook
Dim lastSheetName As String
Set workbook = excelApp.Workbooks.Open("C:\Path\to\your\Workbook.xlsx")
lastSheetName = workbook.Sheets(workbook.Sheets.Count).Name
MsgBox "The name of the last sheet is: " & lastSheetName
workbook.Close
excelApp.Quit

Метод 2: использование строки подключения ADO.NET

Dim connString As String
Dim conn As New ADODB.Connection
Dim rs As ADODB.Recordset
Dim lastSheetName As String
connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Path\to\your\Workbook.xlsx;Extended Properties=""Excel 12.0;HDR=NO;"""
conn.Open connString
Set rs = conn.Execute("SELECT TOP 1 [TABLE_NAME] FROM [Sheet1$] ORDER BY TABLE_NAME DESC")
lastSheetName = rs.Fields(0).Value
MsgBox "The name of the last sheet is: " & lastSheetName
rs.Close
conn.Close

Метод 3. Использование Open XML SDK

Dim filePath As String = "C:\Path\to\your\Workbook.xlsx"
Dim lastSheetName As String
Using spreadsheetDocument As SpreadsheetDocument = SpreadsheetDocument.Open(filePath, False)
    Dim workbookPart As WorkbookPart = spreadsheetDocument.WorkbookPart
    Dim sheets As IEnumerable(Of Sheet) = workbookPart.Workbook.Descendants(Of Sheet)()
    Dim lastSheet As Sheet = sheets.LastOrDefault()

    If lastSheet IsNot Nothing Then
        lastSheetName = lastSheet.Name
    End If
End Using
MsgBox("The name of the last sheet is: " & lastSheetName)

Это всего лишь несколько примеров того, как можно найти имя последнего листа Excel с помощью VB. В зависимости от ваших конкретных требований и версии Excel, которую вы используете, вам может потребоваться соответствующим образом адаптировать код.