我最近学习了如何在 VBA 中编程,并通过阅读本网站上先前提出的问题和答案获得了一些非常有用的帮助。但是,我在我的一个程序中遇到了一个似乎没有得到非常直接解决的问题。所以我会在这里问。
我正在制作一个 Powerpoint 宏,它将使用新数据自动更新一些幻灯片。对于包含 excel 表格的一张幻灯片,我希望宏打开一个 excel 文件,在 excel 文件中运行现有宏以用新数据填充电子表格,最后将表格复制到 powerpoint 幻灯片。到目前为止,我的代码(没有复制部分)是这样的:
Private Sub GetProposals()
Dim myXL As Excel.Application
Dim myXLS As Excel.Workbook
Dim ws As Excel.Worksheet
Set myXL = New Excel.Application
Set myXLS = GetObject("K:\Jackson\Proposal Summary Master.xlsm")
Set ws = myXLS.Sheets(1)
ws.Visible = xlSheetVeryHidden
myXLS.Sheets("VLOOKUP").Range("J1").Value = "EPL"
myXL.Run ("'K:\Jackson\Proposal Summary Master.xlsm'!BABox_Change")
End Sub
它运行正常,直到我到达“myXL.Run ...”行。我收到一条消息说“运行时错误'1004':无法运行宏“K:\Jackson\Proposal Summary Master.xlsm'!BABox_Change'。该工作簿中的宏可能不可用,或者所有宏都可能被禁用。"
当我直接打开文件并以这种方式启动时,excel 宏运行良好。我有点坚持下一步应该做什么。有人有什么建议吗?