当包含列名称的单元格中有换行符时,VBA从记录集列名称中删除下划线

时间:2019-02-28 18:29:52

标签: excel vba adodb recordset

从记录集中检索列名称时,如果列标题的字符串中有中断,例如:(“ Column vbNewLine Name”)或
(“列
名称”)
下面的代码在字符串变量中返回一个下划线,现在看起来像“ Column_Name”。

我正在尝试匹配多个工作簿中的标题,这会更改潜在匹配项中的字符串。

如果单元格中有换行符,如何返回不带下划线的列名?

此外,请记住,由于某些列标题可能包含下划线,因此无法进行简单替换。

Dim ado As Object
Set ado = CreateObject("ADODB.Connection")

With ado
    .Open "Provider=Microsoft.ACE.OLEDB.12.0;Data source=" & filepath & ";Extended Properties=""Excel 12.0; HDR=YES; IMEX=1""; Mode=Read;"
    With .OpenSchema(20)
        Dim table As String
        Dim rs As Object
        table = .Fields("TABLE_NAME")
        Set rs = ado.OpenSchema(4, Array(Empty, Empty, table))
        rs.MoveLast
        While Not rs.BOF
            Debug.Print rs!COLUMN_NAME
            rs.MovePrevious
        Wend
    End With
End With

0 个答案:

没有答案