我正在尝试使用 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:我没有打开文件,因为文件非常大,需要时间。