我有我在哪里具有其自身的目录系统的每个部件管理系统要求的目录结构。 每个组件的要求被存储在具有多个工作表(工作表#是静态的)一个excel工作簿。 我目前使用的访问作为一个中心位置,以查看这些表中的信息并对其进行查询。 我讨厌每一个新的组件文档添加到目录的时间来手动链接新的Excel文件。 有没有一种方法,当每次我开始接触,它会搜索存储Excel文件的目录树,并自动将它们链接来访问,如果他们不链接和更新我保存查询,包括新的文件。 我在想,我可以在这些子目录保存在一个表中的子目录名称和所有文件名中引用其他表,这样它搜索文件系统,它的名字比较表另一个表。 这是可能的,如果因此可能有人点我在正确的方向。
Answer 1:
您可以使用方向或FileSystemObject的递归从目录树中获取文件。 访问存储文件中的TableDef或你的连接属性链接信息能够得到它:
SELECT msysobjects.Database
FROM msysobjects
WHERE (((msysobjects.Database) Is Not Null));
你可以得到的工作表,如下所示:
''Requires reference to the Microsoft Excel x.x Object Library
Dim strFileName As String
Dim objXL As New Excel.Application
Dim wkb As Excel.Workbook
Dim wks As Object
''objXL.Visible = True
strFileName = "C:\Docs\LTD.xls"
Set wkb = objXL.Workbooks.Open(strFileName)
For Each wks In wkb.Worksheets
DoCmd.TransferSpreadsheet acLink, acSpreadsheetTypeExcel9, _
wks.Name, strFileName, True, wks.Name & "$"
Next
''Tidy up
wkb.Close
Set wkb = Nothing
objXL.Quit
Set objXL = Nothing
或使用ADOX.Catalogue: http://forum.lessthandot.com/viewtopic.php?f=95&t=3712
文章来源: MS Access Auto Link Excel Spreadsheets