0

每当创建基于特定模板的文档时,我都会尝试让 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

当我双击模板时,它会根据模板调出一个文档就好了,但是宏没有运行。

它显示在模板的宏列表中,但尝试运行它并没有做任何事情。

4

1 回答 1

2

正如提到的 KazJaw,让应用程序可见

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 管理器) - 每个文档都在其自己的任务中打开。

正确的方法是使用 API 在已注册的应用程序中启动文档,例如这里:http ://access.mvps.org/access/api/api0018.htm

或单行解决方法,丑陋,但效果很好:

Shell "cmd.exe /c start D:\a\test.xlsx"

请注意,带有宏的模板必须具有扩展名 .xltm,而不是 .xltx。

于 2013-06-05T07:31:46.753 回答