在macintosh上使用excel vba打开powerpoint

时间:2014-09-09 21:31:33

标签: excel vba excel-vba

我已就此主题做了大量研究,似乎无法找到适合我的任何内容。 我的项目所做的是用户用数据填写excel文件。用户按下完成,获取excel数据并自动将其填充到powerpoint中。 powerpoint"名为" ExcelUseThisOne")已经制作并保存在桌面上的文件夹(称为" PowerPoint")中。我希望excel文件打开powerpoint,自动填充,保存,然后关闭powerpoint。 我在PC上工作,但不是Mac。 这是我打开powerpoint的代码,我认为它可以工作,但不是:

UserName = InputBox(Prompt:="You name please.", Title:="ENTER YOUR NAME", Default:="all LOWERCASE and ONE WORD")
Dim strPresPath As String, strExcelFilePath As String, strNewPresPath As String
strPresPath = ":Users:" & UserName & ":Desktop:PowerPoint:ExcelUsesThisOne.ppt"
FilePath = ":Users:" & UserName & ":Desktop:PowerPoint:NewPresentation.ppt"
strNewPresPath = FilePath
Set oPPTApp = CreateObject("PowerPoint.Application")
oPPTApp.Visible = msoTrue
Set oPPTFile = oPPTApp.Presentations.Open(strPresPath)

任何帮助都会很棒!谢谢。

1 个答案:

答案 0 :(得分:0)

我不确定但我似乎记得Mac 使用文件扩展名,所以你可以在Mac上试试这个:

strPresPath = ":Users:" & UserName & ":Desktop:PowerPoint:ExcelUsesThisOne"

其他可能的原因是用户名输入错误了?我认为这可以在mac上运行,而不是输入框,你可以尝试以下选项之一:

strPresPath = ":Users:" & Environ("username") & ":Desktop:PowerPoint:ExcelUsesThisOne"

或者尝试使用文件扩展名的方法(同样,我并非100%确定Mac OS上未使用的文件扩展名)。

您可能需要卷名,例如:

strPresPath = "volume_name:Users:..."`

否则,您可以通过检查其他工作簿的路径来调试,这应该向您显示制定路径字符串的正确方法。

祝你好运!