我需要通过以下方式从 R 运行 PowerPoint 子程序:
shell(shQuote(normalizePath("C:/.../VBA_Script.vbs"))).
该脚本VBA_Script
应触发一个名为request_bank, which should open a
msgbox with the value of the variable
bank (=
J. P. Morgan 的子程序)。
我得到错误:
Application.Run:无效请求。子或函数未定义,代码:80048240,MS PowerPoint 2013。
我刚刚尝试了这个线程Run PowerPoint Sub from Excel中提到的所有不同的 Run.-Paths 。我仍然得到错误。我想知道如果我在 Excel 中运行相同的 Sub 或添加行,为什么相同的代码会起作用:
Dim PSlide
Set PSlide = PPres.Slides(1).Duplicate
但这对我来说不是一个干净的解决方案。一定会有更好的办法。
VBS 脚本:选项显式
CallPMacro
Sub CallPMacro()
Dim PApp
Dim PPres
'Dim PSlide
Set PApp = CreateObject("PowerPoint.Application")
Set PPres = PApp.Presentations.Open("C:\...\test.pptm", 0, True)
'Set PSlide = PPres.Slides(1).Duplicate
PApp.Visible = True
PApp.Run "request_bank"
PApp.Quit
Set PPres = Nothing
Set PApp = Nothing
End Sub
request_bank
来自 Sub中的VBA 代码test.pptm
:
Sub request_bank()
Dim bank As String
bank = "J.P. Morgan"
MsgBox ("bank: " & bank)
End Sub
知道如何解决吗?