【发布时间】:2019-01-25 09:19:18
【问题描述】:
所以我在 Ms Access 中使用 Opendateabase 方法来读取 Excel 工作簿的工作表。为什么我在打开文件时只能看到一个 Excel 工作表,却得到多个工作表条目。
所以系统过去只导入 Excel 工作簿而不检查列名,这意味着在等待 5-10 分钟后,如果用户没有正确命名他的列,程序会崩溃。我希望它在导入之前检查列名,这意味着 VBA 需要知道其导入的工作表的名称。
Set db = OpenDatabase(Me.Text2.Value, True, False, "Excel 8.0")
For Each tbl In db.TableDefs
MsgBox tbl.Name 'Would be where the sheet name is picked
Next
db.Close
Set rstbl = CurrentDb.OpenRecordset("SELECT * FROM ImportColumnNames")
S = "SELECT * FROM [Excel 8.0;HDR=Yes;Database=" _
& Me.Text2 & "].[" & SheetName & "$] WHERE False;"
现在看到该文件只有一个名为 CLENAS 的工作表,我期待 1 个答案,但是我得到了 Sheet1$、CLENAS、CLENAS$ 现在我知道它应该是 CLENAS 但我如何确保 VBA 选择正确的。
【问题讨论】: