使用ADOX重命名Excel文件列名称

时间:2016-03-28 16:39:43

标签: excel vba excel-vba rename adox

我正在尝试使用ADOX将关闭的Excel文件中的字段名称拉入Dictionary对象。但是,某些列名称在单引号中包含,或者某些列名称仅使用单引号进行PREFIXED或SUFFIXED。

  

"' GLOBAL VIT / ACE'"或者"'全球SAM / DUN"或者" GLOBAL SUN SANDS'"

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

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

  

"数据库是只读的"

所以,

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从文件中删除它们?如果不是这样,那么有没有打开文件的替代方案?

  

P.S:我没有打开文件,因为文件占用时间非常大。

0 个答案:

没有答案