每当创建基于特定模板的文档时,我都试图让Word打开Excel文档。
这是我的宏
Sub AutoNew()
Dim oExcel As Excel.Application
Dim oWB As Workbook
Set oExcel = New Excel.Application
Set oWB = oExcel.Workbooks.Open("E:\Letters.xlsx")
End Sub
当我双击模板时,它会根据模板显示一个文档,但宏不会运行。
它显示在模板中的宏列表中,但尝试运行它不会做任何事情。
答案 0 :(得分:2)
正如已经提到的KazJaw,让app可见
Sub AutoNew()
Dim oExcel As Excel.Application
Dim oWB As Workbook
Set oExcel = New Excel.Application
Set oWB = oExcel.Workbooks.Open("E:\Letters.xlsx")
oExcel.Visible = true
End Sub
缺点是,excel应用程序在另一个调用宏的情况下作为新任务启动(请参阅tak manager) - 每个文档都在自己的任务中打开。
正确的方法是使用API在已注册的应用程序中启动文档,例如:http://access.mvps.org/access/api/api0018.htm
或者单排解决方案,很难看,但效果很好:
Shell "cmd.exe /c start D:\a\test.xlsx"
请注意,带宏的模板必须具有扩展名.xltm,而不是.xltx。