1

我正在尝试使用 ADOX 将关闭的 Excel 文件中的字段名称提取到 Dictionary 对象中。但是,有些列名用单引号括起来,或者有些列名只是带有单引号的前缀或后缀。

“'GLOBAL VIT/ACE'”或“'GLOBAL SAM/DUN”或“GLOBAL SUN SANDS'”

现在这是一个令人头疼的原因,因为我以后无法打开 Recordset 并且代码导致错误。

现在,当我尝试使用 ADOX 重命名字段名时,我得到

“数据库是只读的”

所以,

Set cols = CreateObject("Scripting.Dictionary")
i = 0
j = 0
blnSingleQuotes = False
For Each fld In objCat.tables(sSheet(1) & "$").Columns
    If InStr(1, "~" & UCase(fld.Name), "~" & UCase("Global")) > 0 Then
        cols.Add CStr(i), fld.Name
        i = i + 1
    ElseIf InStr(1, "~" & UCase(fld.Name), "~'" & UCase("Global")) > 0 Then
        If Right(UCase(fld.Name), 1) <> "'" Then
            fld.name=replace(fld.name,"'","")
            cols.Add CStr(i), fld.Name & "'"
            i = i + 1
        End If
    End If
next fld

我的问题是如何在不打开文件的情况下使用 ADOX 从文件中删除它们?如果不是这种方式,那么是否有不打开文件的替代方法?

PS:我没有打开文件,因为文件非常大,需要时间。

4

0 回答 0