在Access数据库中,我有一个查询表,当表单被打开和编辑时,它被链接到一个表单。访问查询到Excel电子表格
如何将此查询表链接到Excel,以便当我单击Access窗体中的按钮时,Excel中的电子表格将打开,显示Access查询表中的所有项目,然后用户可以根据需要编辑电子表格。
所有在Access/Excel 2003中
在Access数据库中,我有一个查询表,当表单被打开和编辑时,它被链接到一个表单。访问查询到Excel电子表格
如何将此查询表链接到Excel,以便当我单击Access窗体中的按钮时,Excel中的电子表格将打开,显示Access查询表中的所有项目,然后用户可以根据需要编辑电子表格。
所有在Access/Excel 2003中
(我使用的是2007年,但同样适用) 在按钮的Click事件(使用代码生成器,而不是宏),代码
Shell "excel.exe " & Chr(34) & "C:\FullPathToYourFile\file.xls" & Chr(34), vbMaximizedFocus
会做到这一点,虽然不雅。缺少chr(34)
与其中包含空格的路径或文件名断开,虽然用'
包装路径应该可以工作,但它不在我的2007版本中。
我不熟悉如何在宏中完成它,或者如果可能的话。
FollowHyperlink可以打开任何类型的文档,其注册申请的有效途径:
FollowHyperlink "C:\SomeDir\BookX.xls" ''Excel
FollowHyperlink "C:\SomeDir\" ''Explorer
FollowHyperlink "mailto:[email protected]" ''Default email
更多:http://msdn.microsoft.com/en-us/library/aa204494%28office.10%29.aspx
如果你想处理Excel文件已打开后,它可能是最好的使用自动化:
Dim strFileName As String
Dim objXL Object
Dim wkb As Object
''New instance, GetObject for existing instance
Set objXL = CreateObject("Excel.Application")
objXL.Visible = True
strFileName = "C:\Docs\LTD.xls"
Set wkb = objXL.Workbooks.Open(strFileName)
''Do stuff
''Give control to user
objXLS.UserControl = True
呃,这看起来像一个后期绑定代码片段不完全重写使用早期绑定。通过引用,您不需要CreateObject语句 - 而是使用New关键字(无论是在变量声明中还是在Set语句中)。对于后期绑定(即不需要引用),您可以保留CreateObject并将“As Excel.Application”和“As Excel.Workbook”替换为“As Object”。 – 2010-02-01 21:15:35