ADOX.Table преобразовать квадратные скобки в круглые скобки - PullRequest
0 голосов
/ 18 января 2019

Если заголовки Excel содержат [] в имени столбца для примера "Вес брутто [кг]", то ADO преобразует квадратные скобки в круглые скобки.

Function GetSheetsNames(WBName As String) As Collection
    'add reference
    Dim objConn As ADODB.Connection ' Microsoft ActiveX Data Objects n.n Library
    Dim objCat As ADOX.Catalog ' Microsoft ADO Ext. 2.8 for DDL and Security.
    Dim tbl As ADOX.Table
    Dim sConnString As String
    Dim sSheet As String
    Dim Col As New Collection

    sConnString = "Provider=Microsoft.ace.OLEDB.12.0;" & _
    "Data Source=" & WBName & ";" & _
    "Extended Properties=Excel 12.0 Xml;"

    Set objConn = New ADODB.Connection
    objConn.Open sConnString
    Set objCat = New ADOX.Catalog
    Set objCat.ActiveConnection = objConn

        For Each tbl In objCat.Tables
            sSheet = tbl.Name
                Set arr2 = tbl.Columns ' here [] changes to ()
        Next tbl
        Set GetSheetsNames = Col
endd:

    objConn.Close
    Set objCat = Nothing
    Set objConn = Nothing
End Function

Как избежать этого преобразования?

...