1

I need to run a PowerPoint sub from R via:

shell(shQuote(normalizePath("C:/.../VBA_Script.vbs"))). 

The script VBA_Script should trigger a sub called request_bank, which should open amsgboxwith the value of the variablebank(=J. P. Morgan`).

I get the error:

Application.Run: Invalid request. Sub or function not defined, Code: 80048240, MS PowerPoint 2013.

I just tried all the different Run.-Paths mentioned in this thread Run PowerPoint Sub from Excel. I still get the error. I wonder why the same code is working if I run the same Sub in Excel or if I add the rows:

Dim PSlide
Set PSlide = PPres.Slides(1).Duplicate

But that's no clean solution for me. There must be a better way.

VBS-Script: Option Explicit

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 

VBA-Code from the Sub request_bank in the test.pptm:

Sub request_bank()
Dim bank As String
bank = "J.P. Morgan"
MsgBox ("bank: " & bank)
End Sub

Any idea how to fix it?

Community
  • 1
  • 1
tmenke
  • 21
  • 7

0 Answers0