有没有人知道如何使用Word VBA获取打开的Excel工作簿的文件名,以便我可以将一些信息复制到我的Word文档中?
答案 0 :(得分:2)
这可能会变得更加复杂,具体取决于您需要的确定程度,以及是否用于个人或公共用途:
Set objWithName = GetObject("C:\docs\testx.xls")
Set objClassOnly = GetObject("", "Excel.Application")
Debug.Print objWithName.Name
Debug.Print objClassOnly.Name
可以运行多个Excel实例,并且每个实例可能打开多个工作簿,但get对象只返回一个实例。如果你知道你想要的文件的名称,那就容易多了,因为你可以使用上面的第一个版本。
答案 1 :(得分:0)
如果您知道应用程序将打开并且它将是第一个(如果仅)实例打开,请使用以下代码。在Word中,您需要添加Excel 12参考(工具|参考,Microsoft Excel 12.0对象库)。
Sub test()
Dim objClassOnly As Excel.Application
Set objClassOnly = GetObject(, "Excel.Application")
Debug.Print objClassOnly.Name
Debug.Print objClassOnly.ActiveWorkbook.Name
End Sub