Läsa arbetsbladnamn från stängd arbetsbok

 

Här demonstreras en teknik för att läsa arbetsbladnamnen från en stängd arbetsbok.

Följande "namespaces" måste importeras till projektet:

 

GetOleDbSchema-metoden kan hämta 9 olika typer av metadata för arbetsblad varav en är bladnamnen, vilken här används:

 

'Skapa anslutningen.
Const
stCon As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _                           "DataSource=E:\Arbetsmaterial\Datakalla.xls;" & _

                    "Extended Properties=""Excel 8.0;HDR=YES"";"

 

'Instansierar ADO-NET objekten.

Dim cn As New OleDbConnection(stCon)

Dim dt As New DataTable

Dim dr As DataRow

Dim i As Integer

 

'Öppnar anslutningen.

cn.Open()

 

'Skapar datatabellen och fyller den med metadata om arbetsbladen.

dt = cn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, Nothing)

 

'Loopar igenom raderna i datatabellen och visar bladnamnen i en 'meddelanderuta.

 For i = 0 To dt.Rows.Count - 1

   MessageBox.Show(dt.Rows(i)("TABLE_NAME"))

 Next

 

 'Frigör objekten från minnet.

cn.Close()

dt.Dispose()

cn.Dispose()