次の方法で R から PowerPoint サブルーチンを実行する必要があります。
shell(shQuote(normalizePath("C:/.../VBA_Script.vbs"))).
スクリプトは、 msgbox bank J. P. Morgan`)VBA_Script
という名前のサブをトリガーする必要があります。request_bank, which should open a
with the value of the variable
(=
エラーが発生します:
Application.Run: 無効な要求です。サブまたは関数が定義されていません。コード: 80048240、MS PowerPoint 2013。
このスレッドRun PowerPoint Sub from Excelに記載されているさまざまな Run.-Paths をすべて試しました。それでもエラーが発生します。同じ Sub を Excel で実行したり、行を追加したりすると、同じコードが機能するのはなぜでしょうか。
Dim PSlide
Set PSlide = PPres.Slides(1).Duplicate
しかし、それは私にとって明確な解決策ではありません。もっと良い方法があるはずです。
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
のサブからの VBArequest_bank
コードtest.pptm
:
Sub request_bank()
Dim bank As String
bank = "J.P. Morgan"
MsgBox ("bank: " & bank)
End Sub
それを修正する方法はありますか?