VBA Excle 运行 包含 excel 文件名的 Powerpoint 宏
VBA Excle run a Powerpoint marco that takes in the excel filename
我在一个自动创建的数据文件中有这个宏(创建的一部分是插入和 运行ning 宏)。
我想打开一个模板文件,然后需要 运行 一个包含 excel 数据文件名的 PPT 宏。调用宏的那个 (data1.xlsm)
我有这个但无法弄清楚带有文件名的宏调用。
Dim PPTObj As Object
Set PPTObj = CreateObject("PowerPoint.application")
With PPTObj
.Presentations.Open Filename:="C:\Presentations\Company\Template.pptm"
.Run "Template.pptm!MainMacro"
End With
.运行 "Template.xlsm!MainMacro(filename)" 是我要找的。
也许另一个方向是获取PPT中的对象。
但是如何在事先不知道的情况下获取数据文件name/path?
Set wb - getobject(openwexcelfile)
由于另一个程序(不是 office)正在创建数据文件,我不知道它的名称或目录,但它是调用 powerpoint 宏的文件,它将被打开。
感谢您的任何见解。
感谢共产国际的见解。
这是最终的解决方案。
睡眠是为了让PPT App在尝试运行宏之前打开。
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub auto_open()
fname = ActiveWorkbook.Name
Path = ActiveWorkbook.Path
Dim PPTObj As Object
Set PPTObj = CreateObject("PowerPoint.application")
PPTObj.Presentations.Open Filename:="C:\presentation\Template.pptm"
Sleep (3000)
PPTObj.Run "Template.pptm!Main", fname, Path
End Sub
我在一个自动创建的数据文件中有这个宏(创建的一部分是插入和 运行ning 宏)。 我想打开一个模板文件,然后需要 运行 一个包含 excel 数据文件名的 PPT 宏。调用宏的那个 (data1.xlsm) 我有这个但无法弄清楚带有文件名的宏调用。
Dim PPTObj As Object
Set PPTObj = CreateObject("PowerPoint.application")
With PPTObj
.Presentations.Open Filename:="C:\Presentations\Company\Template.pptm"
.Run "Template.pptm!MainMacro"
End With
.运行 "Template.xlsm!MainMacro(filename)" 是我要找的。
也许另一个方向是获取PPT中的对象。 但是如何在事先不知道的情况下获取数据文件name/path?
Set wb - getobject(openwexcelfile)
由于另一个程序(不是 office)正在创建数据文件,我不知道它的名称或目录,但它是调用 powerpoint 宏的文件,它将被打开。
感谢您的任何见解。
感谢共产国际的见解。 这是最终的解决方案。 睡眠是为了让PPT App在尝试运行宏之前打开。
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub auto_open()
fname = ActiveWorkbook.Name
Path = ActiveWorkbook.Path
Dim PPTObj As Object
Set PPTObj = CreateObject("PowerPoint.application")
PPTObj.Presentations.Open Filename:="C:\presentation\Template.pptm"
Sleep (3000)
PPTObj.Run "Template.pptm!Main", fname, Path
End Sub